CleanGame: uma abordagem gamificada para detecção de code smells

Detalhes bibliográficos
Autor(a) principal: Santos, Hoyama Maria dos
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_ 1807835085547765760