CleanGame: uma abordagem gamificada para detecção de code smells
Autor(a) principal: | |
---|---|
Data de Publicação: | 2019 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFLA |
Texto Completo: | http://repositorio.ufla.br/jspui/handle/1/38560 |
Resumo: | 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. |
id |
UFLA_c09e3da1d78a5ed9893bb7eb54a95d00 |
---|---|
oai_identifier_str |
oai:localhost:1/38560 |
network_acronym_str |
UFLA |
network_name_str |
Repositório Institucional da UFLA |
repository_id_str |
|
spelling |
CleanGame: uma abordagem gamificada para detecção de code smellsCleanGame: gamifying the identification of code smellsRefatoraçãoGamificaçãoCode smellEducação em engenharia de softwareReforço pós-treinamentoRefactoringGamificationSoftware engineering educationPost training reinforcementEngenharia de SoftwareRefactoring 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.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.Universidade Federal de LavrasPrograma de Pós-graduação em Ciência da ComputaçãoUFLAbrasilDepartamento de Ciência da ComputaçãoDurelli, Rafael SerapilhaSouza, Maurício Ronny de AlmeidaDurelli, Rafael SerapilhaParreira Junior, Paulo AfonsoSouza, Maurício de AlmeidaFigueiredo, Eduardo Magno LagesSantos, Hoyama Maria dos2020-01-22T13:58:33Z2020-01-22T13:58:33Z2020-01-212019-12-12info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfSANTOS, 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.http://repositorio.ufla.br/jspui/handle/1/38560porinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFLAinstname:Universidade Federal de Lavras (UFLA)instacron:UFLA2020-01-22T13:58:33Zoai:localhost:1/38560Repositório InstitucionalPUBhttp://repositorio.ufla.br/oai/requestnivaldo@ufla.br || repositorio.biblioteca@ufla.bropendoar:2020-01-22T13:58:33Repositório Institucional da UFLA - Universidade Federal de Lavras (UFLA)false |
dc.title.none.fl_str_mv |
CleanGame: uma abordagem gamificada para detecção de code smells 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 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 Engenharia de Software |
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.none.fl_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.contributor.author.fl_str_mv |
Santos, Hoyama Maria dos |
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 Engenharia de Software |
topic |
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 Engenharia de Software |
description |
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. |
publishDate |
2019 |
dc.date.none.fl_str_mv |
2019-12-12 2020-01-22T13:58:33Z 2020-01-22T13:58:33Z 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.uri.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. http://repositorio.ufla.br/jspui/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 |
http://repositorio.ufla.br/jspui/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.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Universidade Federal de Lavras Programa de Pós-graduação em Ciência da Computação UFLA brasil Departamento de Ciência da Computação |
publisher.none.fl_str_mv |
Universidade Federal de Lavras Programa de Pós-graduação em Ciência da Computação UFLA brasil Departamento de Ciência da Computação |
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 |
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_ |
1815439030858285056 |