Symbolic Execution of Interpreted Languages
Petr Šťastný, 17 Feb 2025
Symbolic execution is a program analysis technique that explores possible program states, providing insights into a program’s behavior. Developing a symbolic execution engine for a specific language is often time-intensive for developers, especially given the performance optimizations required to keep the analysis runtime reasonable.
We present a method for adapting existing symbolic execution engines to support interpreted languages with minimal developer effort. Additionally, we discuss optimizations that must be applied to the target interpreter to make this approach feasible performance-wise.