Symbolic execution formally explained
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 lan...
Saved in:
Published in | Formal aspects of computing Vol. 33; no. 4-5; pp. 617 - 636 |
---|---|
Main Authors | , |
Format | Journal Article |
Language | English |
Published |
London
Springer London
01.08.2021
Association for Computing Machinery |
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | 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. |
---|---|
ISSN: | 0934-5043 1433-299X |
DOI: | 10.1007/s00165-020-00527-y |