Grouping Source Code by Solution Approaches --- Improving Feedback in Programming Courses
Frank Höppner
Jun 30, 2021 15:20 UTC+2
—
Session A1
—
Zoom link
Keywords: programming, semantic analysis, source code distance
Abstract:
Various similarity measures for source code have been proposed, many rely on edit- or tree-distance. To support a lecturer in quickly assessing live or online exercises with respect to approaches taken by the students, we compare source code on a more abstract, semantic level. Even if novice student's solutions follow the same idea, their code length may vary considerably -- which greatly misleads edit and tree distance approaches. We propose an alternative similarity measure based on variable usage paths (VUP), that is, we use the way how variables are used by the code to elaborate code similarity. The final stage of the measure involves a matching of variables in functions based on how the variable is used by the instructions. A preliminary evaluation on real data is presented.