Grading Programs Based on Hybrid Analysis.

Zhikai Wang,Lei Xu
DOI: https://doi.org/10.1007/978-3-030-30952-7_63
2019-01-01
Abstract:Grading programming assignments often take a lot of time and effort, so there is a growing need for automatic scoring systems. The existing program scoring system gives scores mainly by executing test cases. It cannot identify homework plagiarism or give grades according to steps. Therefore, this paper proposes an automatic scoring technique for Python programming assignments based on hybrid program analysis. Our scoring tool Paprika combines dynamic analysis and static analysis methods. Based on the Python abstract tree, it uses static analysis to realize the detection of clones and code style assessment and uses dynamic analysis to score with running test cases. It has a good tolerance for various formats of output of the code. The experiment shows that on the one hand, Paprika can reduce the burden of teachers and teaching assistants; on the other hand, it can accurately and objectively give grades and detailed feedback, which is helpful for students to improve learning efficiency and programming level.
What problem does this paper attempt to address?