

One of the primary practices is predicting defects across software components in the codebase to improve agile product quality. Researchers proposed several approaches for software quality analysis based on software metrics. As a software system evolves, it grows in size and becomes more complex, hindering its comprehension. Understanding software evolution is essential for software development tasks, including debugging, maintenance, and testing. We successfully presented concrete visual representations of programming processes as well as their relative strengths and weaknesses for reviewing classes this contribution may serve as a basis for future real-time use of these tools in class. The tools were also found to be complementary, with different aspects being highly evaluated. Questionnaire results showed that these tools are helpful for understanding programming processes. An experiment was conducted in which several university teachers performed a user evaluation of the tools, particularly with regard to their usefulness for reviewing past programming classes taught by another teacher. These tools visualize the temporal evolution of source-code contents at different granularities.

We propose two feedback tools for teachers. However, few studies have focused on visual representations of the evolution process of source-code contents it remains unclear what visual representation would be effective to this end and how teachers value such feedback. Giving teachers feedback on programming processes is a typical approach to the problem.

In such a learning environment, understanding every student’s programming process is mostly impractical for teachers, despite its significance in supporting students. The COVID-19 pandemic has led to an increase in online classes, and programming classes are no exception.
