Exploring Program Equivalence as a Means of Comparing Definitional Interpreters

Bachelor Thesis (2021)
Author(s)

R.W. Backx (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Contributor(s)

Casper Bach Poulsen – Mentor (TU Delft - Programming Languages)

C.R. van der Rest – Mentor (TU Delft - Programming Languages)

K.G. Langendoen – Graduation committee member (TU Delft - Embedded Systems)

Faculty
Electrical Engineering, Mathematics and Computer Science
Copyright
© 2021 Ruben Backx
More Info
expand_more
Publication Year
2021
Language
English
Copyright
© 2021 Ruben Backx
Graduation Date
02-07-2021
Awarding Institution
Delft University of Technology
Project
['CSE3000 Research Project']
Programme
['Computer Science and Engineering']
Faculty
Electrical Engineering, Mathematics and Computer Science
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Grading and giving feedback to student submissions automatically is becoming more and more necessary with an increasing amount of students. To verify the correctness of student-written definitional interpreters, a program equivalence approach has been implemented, improved, and extended with new rules to make it more suited specifically for verifying interpreters. This approach is able to soundly recognise two different interpreters as equivalent. Interpreters can thus be compared to a correct interpreter to verify their correctness or be grouped with equivalent interpreters to be graded in batches. Using program equivalence in combination with other verification approaches can improve the process of giving feedback to students and help build up a collection of common errors made by students.

Files

License info not available