CleanGame: uma abordagem gamificada para detecção de code smells
| Ano de defesa: | 2019 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | , , , |
| Tipo de documento: | Dissertação |
| Tipo de acesso: | Acesso aberto |
| Idioma: | por |
| Instituição de defesa: |
Universidade Federal de Lavras
|
| Programa de Pós-Graduação: |
Programa de Pós-graduação em Ciência da Computação
|
| Departamento: |
Departamento de Ciência da Computação
|
| País: |
brasil
|
| Palavras-chave em Português: | |
| Área do conhecimento CNPq: | |
| Link de acesso: | https://repositorio.ufla.br/handle/1/38560 |
Resumo: | Refatoração é o processo de transformar a estrutura interna do código existente sem alterar seu comportamento observável. Muitos estudos mostraram que a refatoração aumenta a facilidade na manutenção e a compreensibilidade do programa. Devido a esses benefícios, é reconhecida como uma prática recomendada na comunidade de desenvolvimento de software. No entanto, antes das atividades de refatoração, os desenvolvedores precisam procurar essas oportunidades, ou seja, serem capazes de identificar codesmells, que são essencialmente instâncias de design inadequado e opções de implementação mal consideradas que podem prejudicar a capacidade de manutenção e a compreensão do código. No entanto, a identificação do codesmells ainda é negligenciada no currículo de Ciência da Computação, recentemente, os educadores de Engenharia de Software iniciaram a exploração da gamificação, o que implica o uso de elementos de jogo em contextos não relacionados, para melhorar os resultados instrucionais em contextos educacionais. O potencial da gamificação reside em apoiar e motivar os alunos, aprimorando o processo de aprendizagem e seus resultados. Desta forma, este trabalho irá avaliar até que ponto esta alegação é válida no contexto do reforço pós-treinamento. Para esse fim, foi implementado e desenvolvido o CleanGame, que é uma ferramenta gamificada que cobre um aspecto importante do currículo da refatoração: identificação do codesmells, para fins de validação foi realizado um experimento envolvendo 18 participantes para investigar a eficácia da gamificação no contexto do reforço pós-treinamento. Assim obteve-se como resultado, que os participantes, em média, conseguiram identificar o dobro de codesmell durante o reforço da aprendizagem com uma abordagem gamificada em comparação com uma não gamificada. Além disso, foi administrada uma pesquisa de atitude pós-experimento aos participantes, em que a maioria demostrou uma atitude positiva com relação ao CleanGame. |
| id |
UFLA_fe507539fbe5c82767e2e4ea18a5f17d |
|---|---|
| oai_identifier_str |
oai:repositorio.ufla.br:1/38560 |
| network_acronym_str |
UFLA |
| network_name_str |
Repositório Institucional da UFLA |
| repository_id_str |
|
| spelling |
2020-01-22T13:58:33Z2020-01-22T13:58:33Z2020-01-212019-12-12SANTOS, H. M. dos. CleanGame: uma abordagem gamificada para detecção de code smells. 2019. 86 p. Dissertação (Mestrado em Ciência da Computação)–Universidade Federal de Lavras, Lavras, 2019.https://repositorio.ufla.br/handle/1/38560Refatoração é o processo de transformar a estrutura interna do código existente sem alterar seu comportamento observável. Muitos estudos mostraram que a refatoração aumenta a facilidade na manutenção e a compreensibilidade do programa. Devido a esses benefícios, é reconhecida como uma prática recomendada na comunidade de desenvolvimento de software. No entanto, antes das atividades de refatoração, os desenvolvedores precisam procurar essas oportunidades, ou seja, serem capazes de identificar codesmells, que são essencialmente instâncias de design inadequado e opções de implementação mal consideradas que podem prejudicar a capacidade de manutenção e a compreensão do código. No entanto, a identificação do codesmells ainda é negligenciada no currículo de Ciência da Computação, recentemente, os educadores de Engenharia de Software iniciaram a exploração da gamificação, o que implica o uso de elementos de jogo em contextos não relacionados, para melhorar os resultados instrucionais em contextos educacionais. O potencial da gamificação reside em apoiar e motivar os alunos, aprimorando o processo de aprendizagem e seus resultados. Desta forma, este trabalho irá avaliar até que ponto esta alegação é válida no contexto do reforço pós-treinamento. Para esse fim, foi implementado e desenvolvido o CleanGame, que é uma ferramenta gamificada que cobre um aspecto importante do currículo da refatoração: identificação do codesmells, para fins de validação foi realizado um experimento envolvendo 18 participantes para investigar a eficácia da gamificação no contexto do reforço pós-treinamento. Assim obteve-se como resultado, que os participantes, em média, conseguiram identificar o dobro de codesmell durante o reforço da aprendizagem com uma abordagem gamificada em comparação com uma não gamificada. Além disso, foi administrada uma pesquisa de atitude pós-experimento aos participantes, em que a maioria demostrou uma atitude positiva com relação ao CleanGame.Refactoring is the process of transforming the internal structure of existing code without changing its observable behavior. Many studies have shown that refactoring increases program maintainability and understandability. Due to these benefits, refactoring is recognized as a best practice in the software development community. However, prior to refactoring activities, developers need to look for refactoring opportunities, i.e., developers need to be able to identify code smells, which essentially are instances of poor design and ill-considered implementation choices that may hinder code maintainability and understandability. However, code smell identification is overlooked in the Computer Science curriculum. Recently, Software Engineering educators have started exploring gamification, which entails using game elements in non-game contexts, to improve instructional outcomes in educational settings. The potential of gamification lies in supporting and motivating students, enhancing the learning process and its outcomes. We set out to evaluate the extent to which such claim is valid in the context of post-training reinforcement. To this end, we devised and implemented CleanGame, which is a gamified tool that covers one important aspect of the refactoring curriculum: code smell identification. We also carried out an experiment involving eighteen participants to probe into the effectiveness of gamification in the context of post-training reinforcement. We found that, on average, participants managed to identify twice as much code smells during learning reinforcement with a gamified approach in comparison to a non-gamified approach. Moreover, we administered a post-experiment attitudinal survey to the participants. According to the results of such survey, most participants showed a positive attitude towards CleanGame.Universidade Federal de LavrasPrograma de Pós-graduação em Ciência da ComputaçãoUFLAbrasilDepartamento de Ciência da ComputaçãoEngenharia de SoftwareRefatoraçãoGamificaçãoCode smellEducação em engenharia de softwareReforço pós-treinamentoRefactoringGamificationSoftware engineering educationPost training reinforcementCleanGame: uma abordagem gamificada para detecção de code smellsCleanGame: gamifying the identification of code smellsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisDurelli, Rafael SerapilhaSouza, Maurício Ronny de AlmeidaDurelli, Rafael SerapilhaParreira Junior, Paulo AfonsoSouza, Maurício de AlmeidaFigueiredo, Eduardo Magno Lageshttp://lattes.cnpq.br/1349908927319799Santos, Hoyama Maria dosinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFLAinstname:Universidade Federal de Lavras (UFLA)instacron:UFLAORIGINALDISSERTAÇÃO_Cleangame uma abordagem gamificada para detecção de code smells.pdfDISSERTAÇÃO_Cleangame uma abordagem gamificada para detecção de code smells.pdfapplication/pdf3849372https://repositorio.ufla.br/bitstreams/e01cfb8e-7367-4568-9841-339ca6e26578/download30ea0e1abd726a26b0b0f2b63daf1954MD51trueAnonymousREADLICENSElicense.txtlicense.txttext/plain; charset=utf-8953https://repositorio.ufla.br/bitstreams/17a49449-a078-4e6a-a331-761971a71b17/download760884c1e72224de569e74f79eb87ce3MD52falseAnonymousREADTEXTDISSERTAÇÃO_Cleangame uma abordagem gamificada para detecção de code smells.pdf.txtDISSERTAÇÃO_Cleangame uma abordagem gamificada para detecção de code smells.pdf.txtExtracted texttext/plain102893https://repositorio.ufla.br/bitstreams/724346ab-c768-4b57-b120-2a0e8855d3f2/download7de804e35b28a030f8eef852cc5b4665MD53falseAnonymousREADTHUMBNAILDISSERTAÇÃO_Cleangame uma abordagem gamificada para detecção de code smells.pdf.jpgDISSERTAÇÃO_Cleangame uma abordagem gamificada para detecção de code smells.pdf.jpgGenerated Thumbnailimage/jpeg3018https://repositorio.ufla.br/bitstreams/de6cfa55-42c7-4ee6-be74-c133d8323ff1/download3a5fcc4b192044ee0a197af2ca5d5bf0MD54falseAnonymousREAD1/385602025-08-05 16:06:37.854open.accessoai:repositorio.ufla.br:1/38560https://repositorio.ufla.brRepositório InstitucionalPUBhttps://repositorio.ufla.br/server/oai/requestnivaldo@ufla.br || repositorio.biblioteca@ufla.bropendoar:2025-08-05T19:06:37Repositório Institucional da UFLA - Universidade Federal de Lavras (UFLA)falseREVDTEFSQcOHw4NPIERFIERJU1RSSUJVScOHw4NPIE7Dg08tRVhDTFVTSVZBCk8gcmVmZXJpZG8gYXV0b3I6CmEpIERlY2xhcmEgcXVlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIMOpIHNldSB0cmFiYWxobyBvcmlnaW5hbCwgZSBxdWUKZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4KRGVjbGFyYSB0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2UsIHRhbnRvIHF1YW50bwpsaGUgw6kgcG9zc8OtdmVsIHNhYmVyLCBvcyBkaXJlaXRvcyBkZSBxdWFscXVlciBvdXRyYSBwZXNzb2Egb3UKZW50aWRhZGUuCmIpIFNlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIGNvbnTDqW0gbWF0ZXJpYWwgZG8gcXVhbCBuw6NvIGRldMOpbSBvcwpkaXJlaXRvcyBkZSBhdXRvciwgZGVjbGFyYSBxdWUgb2J0ZXZlIGF1dG9yaXphw6fDo28gZG8gZGV0ZW50b3IgZG9zCmRpcmVpdG9zIGRlIGF1dG9yIHBhcmEgY29uY2VkZXIgw6AgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgTGF2cmFzIG9zCmRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgY3Vqb3MKZGlyZWl0b3Mgc8OjbyBkZSB0ZXJjZWlyb3MgZXN0w6EgY2xhcmFtZW50ZSBpZGVudGlmaWNhZG8gZSByZWNvbmhlY2lkbwpubyB0ZXh0byBvdSBjb250ZcO6ZG8gZG8gZG9jdW1lbnRvIGVudHJlZ3VlLiBTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSDDqQpiYXNlYWRvIGVtIHRyYWJhbGhvIGZpbmFuY2lhZG8gb3UgYXBvaWFkbyBwb3Igb3V0cmEgaW5zdGl0dWnDp8OjbyBxdWUKbsOjbyBhIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRlIExhdnJhcywgZGVjbGFyYSBxdWUgY3VtcHJpdSBxdWFpc3F1ZXIKb2JyaWdhw6fDtWVzIGV4aWdpZGFzIHBlbG8gcmVzcGVjdGl2byBjb250cmF0byBvdSBhY29yZG8uCgo= |
| dc.title.pt_BR.fl_str_mv |
CleanGame: uma abordagem gamificada para detecção de code smells |
| dc.title.alternative.pt_BR.fl_str_mv |
CleanGame: gamifying the identification of code smells |
| title |
CleanGame: uma abordagem gamificada para detecção de code smells |
| spellingShingle |
CleanGame: uma abordagem gamificada para detecção de code smells Santos, Hoyama Maria dos Engenharia de Software Refatoração Gamificação Code smell Educação em engenharia de software Reforço pós-treinamento Refactoring Gamification Software engineering education Post training reinforcement |
| title_short |
CleanGame: uma abordagem gamificada para detecção de code smells |
| title_full |
CleanGame: uma abordagem gamificada para detecção de code smells |
| title_fullStr |
CleanGame: uma abordagem gamificada para detecção de code smells |
| title_full_unstemmed |
CleanGame: uma abordagem gamificada para detecção de code smells |
| title_sort |
CleanGame: uma abordagem gamificada para detecção de code smells |
| author |
Santos, Hoyama Maria dos |
| author_facet |
Santos, Hoyama Maria dos |
| author_role |
author |
| dc.contributor.advisor1.fl_str_mv |
Durelli, Rafael Serapilha |
| dc.contributor.advisor-co1.fl_str_mv |
Souza, Maurício Ronny de Almeida |
| dc.contributor.referee1.fl_str_mv |
Durelli, Rafael Serapilha |
| dc.contributor.referee2.fl_str_mv |
Parreira Junior, Paulo Afonso |
| dc.contributor.referee3.fl_str_mv |
Souza, Maurício de Almeida |
| dc.contributor.referee4.fl_str_mv |
Figueiredo, Eduardo Magno Lages |
| dc.contributor.authorLattes.fl_str_mv |
http://lattes.cnpq.br/1349908927319799 |
| dc.contributor.author.fl_str_mv |
Santos, Hoyama Maria dos |
| contributor_str_mv |
Durelli, Rafael Serapilha Souza, Maurício Ronny de Almeida Durelli, Rafael Serapilha Parreira Junior, Paulo Afonso Souza, Maurício de Almeida Figueiredo, Eduardo Magno Lages |
| dc.subject.cnpq.fl_str_mv |
Engenharia de Software |
| topic |
Engenharia de Software Refatoração Gamificação Code smell Educação em engenharia de software Reforço pós-treinamento Refactoring Gamification Software engineering education Post training reinforcement |
| dc.subject.por.fl_str_mv |
Refatoração Gamificação Code smell Educação em engenharia de software Reforço pós-treinamento Refactoring Gamification Software engineering education Post training reinforcement |
| description |
Refatoração é o processo de transformar a estrutura interna do código existente sem alterar seu comportamento observável. Muitos estudos mostraram que a refatoração aumenta a facilidade na manutenção e a compreensibilidade do programa. Devido a esses benefícios, é reconhecida como uma prática recomendada na comunidade de desenvolvimento de software. No entanto, antes das atividades de refatoração, os desenvolvedores precisam procurar essas oportunidades, ou seja, serem capazes de identificar codesmells, que são essencialmente instâncias de design inadequado e opções de implementação mal consideradas que podem prejudicar a capacidade de manutenção e a compreensão do código. No entanto, a identificação do codesmells ainda é negligenciada no currículo de Ciência da Computação, recentemente, os educadores de Engenharia de Software iniciaram a exploração da gamificação, o que implica o uso de elementos de jogo em contextos não relacionados, para melhorar os resultados instrucionais em contextos educacionais. O potencial da gamificação reside em apoiar e motivar os alunos, aprimorando o processo de aprendizagem e seus resultados. Desta forma, este trabalho irá avaliar até que ponto esta alegação é válida no contexto do reforço pós-treinamento. Para esse fim, foi implementado e desenvolvido o CleanGame, que é uma ferramenta gamificada que cobre um aspecto importante do currículo da refatoração: identificação do codesmells, para fins de validação foi realizado um experimento envolvendo 18 participantes para investigar a eficácia da gamificação no contexto do reforço pós-treinamento. Assim obteve-se como resultado, que os participantes, em média, conseguiram identificar o dobro de codesmell durante o reforço da aprendizagem com uma abordagem gamificada em comparação com uma não gamificada. Além disso, foi administrada uma pesquisa de atitude pós-experimento aos participantes, em que a maioria demostrou uma atitude positiva com relação ao CleanGame. |
| publishDate |
2019 |
| dc.date.submitted.none.fl_str_mv |
2019-12-12 |
| dc.date.accessioned.fl_str_mv |
2020-01-22T13:58:33Z |
| dc.date.available.fl_str_mv |
2020-01-22T13:58:33Z |
| dc.date.issued.fl_str_mv |
2020-01-21 |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
| format |
masterThesis |
| status_str |
publishedVersion |
| dc.identifier.citation.fl_str_mv |
SANTOS, H. M. dos. CleanGame: uma abordagem gamificada para detecção de code smells. 2019. 86 p. Dissertação (Mestrado em Ciência da Computação)–Universidade Federal de Lavras, Lavras, 2019. |
| dc.identifier.uri.fl_str_mv |
https://repositorio.ufla.br/handle/1/38560 |
| identifier_str_mv |
SANTOS, H. M. dos. CleanGame: uma abordagem gamificada para detecção de code smells. 2019. 86 p. Dissertação (Mestrado em Ciência da Computação)–Universidade Federal de Lavras, Lavras, 2019. |
| url |
https://repositorio.ufla.br/handle/1/38560 |
| dc.language.iso.fl_str_mv |
por |
| language |
por |
| dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
| eu_rights_str_mv |
openAccess |
| dc.publisher.none.fl_str_mv |
Universidade Federal de Lavras |
| dc.publisher.program.fl_str_mv |
Programa de Pós-graduação em Ciência da Computação |
| dc.publisher.initials.fl_str_mv |
UFLA |
| dc.publisher.country.fl_str_mv |
brasil |
| dc.publisher.department.fl_str_mv |
Departamento de Ciência da Computação |
| publisher.none.fl_str_mv |
Universidade Federal de Lavras |
| dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFLA instname:Universidade Federal de Lavras (UFLA) instacron:UFLA |
| instname_str |
Universidade Federal de Lavras (UFLA) |
| instacron_str |
UFLA |
| institution |
UFLA |
| reponame_str |
Repositório Institucional da UFLA |
| collection |
Repositório Institucional da UFLA |
| bitstream.url.fl_str_mv |
https://repositorio.ufla.br/bitstreams/e01cfb8e-7367-4568-9841-339ca6e26578/download https://repositorio.ufla.br/bitstreams/17a49449-a078-4e6a-a331-761971a71b17/download https://repositorio.ufla.br/bitstreams/724346ab-c768-4b57-b120-2a0e8855d3f2/download https://repositorio.ufla.br/bitstreams/de6cfa55-42c7-4ee6-be74-c133d8323ff1/download |
| bitstream.checksum.fl_str_mv |
30ea0e1abd726a26b0b0f2b63daf1954 760884c1e72224de569e74f79eb87ce3 7de804e35b28a030f8eef852cc5b4665 3a5fcc4b192044ee0a197af2ca5d5bf0 |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
| repository.name.fl_str_mv |
Repositório Institucional da UFLA - Universidade Federal de Lavras (UFLA) |
| repository.mail.fl_str_mv |
nivaldo@ufla.br || repositorio.biblioteca@ufla.br |
| _version_ |
1854947703041032192 |