A Program Interpreter Framework for Arbitrary Abstractions

Jochen Quante · 2016

Abstract interpretation, symbolic execution, concolic testing and other techniques all require interpretation of a program. They all share common requirements for the interpreter, but also have their specialties. In this paper, we present a pragmatic interpreter framework that allows easy realization of all these use cases. This is possible because the interpreter supports arbitrary abstractions and strategies for the varying decisions that have to be considered for different analyses. Furthermore, since the interpreter works on an abstraction of the program, it is applicable for multiple input languages as well as models from model-based development. In this paper, we describe the design of the interpreter and demonstrate how easy it can be adapted to several analyses.

Read the paper · More papers on PaperTik