Avalia??o da qualidade do estilo de c?digo de estudantes atrav?s de analisadores est?ticos

Detalhes bibliográficos
Ano de defesa: 2025
Autor(a) principal: Pereira, Francisco Tito Silva Santos lattes
Orientador(a): Bittencourt, Roberto Almeida lattes
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Estadual de Feira de Santana
Programa de Pós-Graduação: Programa de P?s-Gradua??o em Ci?ncia da Computa??o
Departamento: DEPARTAMENTO DE TECNOLOGIA
País: Brasil
Palavras-chave em Português:
Palavras-chave em Inglês:
Área do conhecimento CNPq:
Link de acesso: http://tede2.uefs.br:8080/handle/tede/1793
Resumo: To improve the quality of students? source code, instructors and researchers seek alternatives to provide code feedback not only regarding its correctness, but also its quality. Thus, tools such as Static Analyzers (SA) can be used to perform code analysis, identifying style problems. Related work indicates there is a low diversity of research in the field of software quality involving programming students at more advanced levels. Therefore, this work aims to evaluate the use of SAs in the context of advanced programming learning based on log analysis from an autograder tool. To do such, this work conducts an initial investigation regarding the quality of students? programs regarding coding style. Based on the understanding of specific coding conventions of each programming language and the SAs? quality report, we had to create a Static Analyzer (NamingCheck) to evaluate variable and function naming in both C and Python. In addition, we created PerfeQ, an SA integration tool, to enable more thorough feedback on code quality, integrating the Cpplint, Pylint and NamingCheck tools ? presenting their warning messages and metric values to assess the quality of student code regarding style. We designed code style quality metrics and implemented them in PerfeQ. Then, we conducted a statistical study to check differences in style metrics between i) partial versus final submissions; ii) groups of students with grades above versus below a threshold; iii) C code versus Python code. Furthermore, we computed the correlation between code quality and student performance, and the internal correlation between the metrics. The results suggest that, in general, most students do not follow code style conventions of the languages used. From the scientific understanding of student code regarding their quality, we conclude that there is a need for greater concern from instructors and students regarding the issues of code quality in the process of learning programming languages, since code conventions and standards contribute to better software maintainability.