Concolic Execution for Testing Definitional Interpreters
P. Boon Alexaki (TU Delft - Electrical Engineering, Mathematics and Computer Science)
C.B. 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)
More Info
expand_more
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
Definitional interpreters are difficult to test with a pre-defined test suite. This paper tries to determine the effectiveness of automatic testing of definitional interpreters, using concolic execution. First we develop a model for concolic execution of a functional language. Then we identify different categories of common mistakes when writing interpreters and test which are caught by concolic execution. We find that while concolic execution is promising, as it can find counterexamples for most errors in a small language, the model developed in this paper is not sufficient to generate counterexamples for more complicated languages.