Uma abordagem para pontuação de exercícios de programação baseada em análise estática de código - Vieira, Victor Souza (2022)
With the massive increase of students in introductory computing courses taking place in recent decades, the work of teachers to correct their exercises has increased significantly. With the creation of automatic source code analyzers, it became possible to evaluate and analyze source code in a static, dynamic and hybrid way (it uses both static analysis and as dynamic). Online judges assess whether, during source code execution, all test cases pass or fail. If approved, the exercise is rated as a maximum grade and, if not, a minimum grade. In this way, they can be classified as dynamic code analyzers. This approach often ends up frustrating beginner students, as only the final result of the program is evaluated, that is, without considering the quality of the solution. In addition, teachers need to manually evaluate the source code to identify situations where they should alert the student of poor quality of their source code. As a solution, so that there is a better evaluation of these students, a tool based on static code analysis is proposed for the Python programming language, which scores, based on rules that can be defined by the teacher, the code written by the students, thus giving better feedback for the evaluation result.