AUTOMATIC GRADING, WHITE BOX AUTOGRADER, SYMBOLIC EXECUTION, CONCOLIC EXECUTION, PATH CONSTRAINT, WEB SERVICE

In programming lessons, automatic grading is used by educators to speed up the grading of students' programming assignments. In general, automated grading systems use a black box testing approach, in which a set of test cases is used as inputs, and the outputs of the student program are comp...

Full description

Saved in:
Bibliographic Details
Main Author: Sudyanto, Morgen
Format: Final Project
Language:Indonesia
Online Access:https://digilib.itb.ac.id/gdl/view/67186
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Institut Teknologi Bandung
Language: Indonesia
Description
Summary:In programming lessons, automatic grading is used by educators to speed up the grading of students' programming assignments. In general, automated grading systems use a black box testing approach, in which a set of test cases is used as inputs, and the outputs of the student program are compared to the outputs of the educator program. The disadvantage of the black box testing approach is that it is difficult to create test cases that cover all possible cases. This final project explores another approach to grade programs, the white box testing approach, in which the structure of the student program will be compared with the structure of the educator program. This final project improves previous research that can generate test cases with a white box testing approach, but still performs grading with a black box testing approach. This final project utilizes concolic execution, which is a combination of concrete execution and symbolic execution to get all the path constraints that the program traverses. Then the path constraints of the educator program and the student program are compared to get student scores. Implementation is carried out to create a web service that can accept requests containing student programs and educator programs, then conduct automatic grading of student programs and return responses containing scores and feedback for the students. After implementation and testing, it was found that the automatic grading system made for the final project can produce a score that is in line with the number of errors contained in the student program. The system can also provide feedback in the form of wrong test cases and a list of program line numbers containing mistakes.