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 MayDisplayed time zone: Eastern Time (US & Canada) change
14:00 - 15:30 | Assessment in the ClassroomSoftware Engineering Education and Training / Posters at St-Denis / Notre-Dame Chair(s): Ivana Bosnić University of Zagreb, Faculty of Electrical Engineering and Computing | ||
14:00 15mTalk | MAF: Method-Anchored Test Fragmentation for Test Code Plagiarism DetectionSEET Software Engineering Education and Training Weisong Sun State Key Laboratory for Novel Software Technology, Nanjing University, Xingya Wang State Key Laboratory for Novel Software Technology, Nanjing University, Haoran Wu State Key Laboratory for Novel Software Technology, Nanjing University, Ding Duan State Key Laboratory for Novel Software Technology, Nanjing University, Zesong Sun State Key Laboratory for Novel Software Technology, Nanjing University, Zhenyu Chen Nanjing University | ||
14:15 6mPoster | A Grading Schema for Reinforcing Teamwork Quality in a Capstone Course Posters Cecilia Bastarrica , Daniel Perovich Department of Computer Science, University of Chile, Francisco J. Gutierrez , Maíra Marques Department of Computer Science, University of Chile | ||
14:21 10mTalk | Simulating Student Mistakes to Evaluate the Fairness of Automated GradingSEET Software Engineering Education and Training Benjamin Clegg The University of Sheffield, Siobhán North The University of Sheffield, Phil McMinn University of Sheffield, Gordon Fraser University of Passau | ||
14:31 15mTalk | Automatic Grading of Programming Assignments: A Formal Semantics Based ApproachSEET Software Engineering Education and Training Xiao Liu The Pennsylvania University, University Park, Shuai Wang ETH Zurich, Pei Wang Pennsylvania State University, Dinghao Wu Pennsylvania State University | ||
14:46 10mTalk | Experience Report on a Move to Techniques-oriented Student Project GradingSEET Software Engineering Education and Training Siim Karus University of Tartu | ||
14:56 34mTalk | Author Panel DiscussionSEET Software Engineering Education and Training |