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...
Saved in:
Main Author: | |
---|---|
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 |
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. |
---|