Abstract
In this paper, we provide a formal explanation of symbolic execution in terms of a symbolic transition system and prove its correctness and completeness with respect to an operational semantics which models the execution on concrete values.We first introduce a formalmodel for a basic programming languagewith a statically fixed number of programming variables. This model is extended to a programming language with recursive procedures which are called by a call-by-value parameter mechanism. Finally, we present a more general formal framework for proving the soundness and completeness of the symbolic execution of a basic object-oriented language which features dynamically allocated variables.
Cite
CITATION STYLE
de Boer, F. S., & Bonsangue, M. (2021). Symbolic execution formally explained. Formal Aspects of Computing, 33(4–5), 617–636. https://doi.org/10.1007/s00165-020-00527-y
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.