Scientific Reports (May 2024)

Graph semantic similarity-based automatic assessment for programming exercises

  • Chengguan Xiang,
  • Ying Wang,
  • Qiyun Zhou,
  • Zhen Yu

DOI
https://doi.org/10.1038/s41598-024-61219-8
Journal volume & issue
Vol. 14, no. 1
pp. 1 – 14

Abstract

Read online

Abstract This paper proposes an algorithm for the automatic assessment of programming exercises. The algorithm assigns assessment scores based on the program dependency graph structure and the program semantic similarity, but does not actually need to run the student’s program. By calculating the node similarity between the student’s program and the teacher’s reference programs in terms of structure and program semantics, a similarity matrix is generated and the optimal similarity node path of this matrix is identified. The proposed algorithm achieves improved computational efficiency, with a time complexity of $$O(n^2)$$ O ( n 2 ) for a graph with n nodes. The experimental results show that the assessment algorithm proposed in this paper is more reliable and accurate than several comparison algorithms, and can be used for scoring programming exercises in C/C++, Java, Python, and other languages.

Keywords