Automatic Grading of Programming Assignments: A Formal Semantics Based ApproachSEET
Programming assignment grading can be time-consuming and error-prone if done manually. Existing tools generate feedbacks with failing test cases. However, this method is inefficient and the result is not complete. We present AutoGrader, a tool that automatically decides the correctness of programming assignments and provides counterexamples, given a single reference implementation of the problem. Instead of counting the passed tests, our tool searches for semantically different execution paths between a student’s submission and the reference implementation. If such a difference is found, the submission is deemed incorrect; otherwise, it is judged as a correct solution to the problem. We leverage weakest preconditions and symbolic execution to capture the semantics of execution paths and detect potential path differences. AutoGrader is the first automated grading tool that works on program semantics and generates feedback with counterexamples based on path deviations. It reduces human efforts in writing test cases and makes the grading more complete as well. We implement AutoGrader and test its effectiveness and performance with real-world programming problems and student submissions collected from an online programming site. The experiment revealed no false positive of our proposed method and we detected 11 errors of online platform judges.
Thu 30 May
14:00 - 15:30: Software Engineering Education and Training - Assessment in the Classroom at St-Denis / Notre-Dame Chair(s): Ivana BosnićUniversity of Zagreb, Faculty of Electrical Engineering and Computing | ||||||||||||||||||||||||||||||||||||||||||
14:00 - 14:15 Talk | Weisong SunState Key Laboratory for Novel Software Technology, Nanjing University, Xingya WangState Key Laboratory for Novel Software Technology, Nanjing University, Haoran WuState Key Laboratory for Novel Software Technology, Nanjing University, Ding DuanState Key Laboratory for Novel Software Technology, Nanjing University, Zesong SunState Key Laboratory for Novel Software Technology, Nanjing University, Zhenyu ChenNanjing University | |||||||||||||||||||||||||||||||||||||||||
14:15 - 14:21 Poster | Cecilia Bastarrica, Daniel PerovichDepartment of Computer Science, University of Chile, Francisco J. Gutierrez, Maíra MarquesDepartment of Computer Science, University of Chile | |||||||||||||||||||||||||||||||||||||||||
14:21 - 14:31 Talk | Benjamin CleggThe University of Sheffield, Siobhán NorthThe University of Sheffield, Phil McMinnUniversity of Sheffield, Gordon FraserUniversity of Passau | |||||||||||||||||||||||||||||||||||||||||
14:31 - 14:46 Talk | Xiao LiuThe Pennsylvania University, University Park, Shuai WangETH Zurich, Pei WangPennsylvania State University, Dinghao WuPennsylvania State University | |||||||||||||||||||||||||||||||||||||||||
14:46 - 14:56 Talk | Siim KarusUniversity of Tartu | |||||||||||||||||||||||||||||||||||||||||
14:56 - 15:30 Talk |