Scinovex
article Open AccessTop 1% cited

Symbolic execution and program testing

Communications of the ACM · 1976 · Vol. 19(7) · pp. 385–394
James C. King

Abstract

This paper describes the symbolic execution of programs. Instead of supplying the normal inputs to a program (e.g. numbers) one supplies symbols representing arbitrary values. The execution proceeds as in a normal execution except that values may be symbolic formulas over the input symbols. The difficult, yet interesting issues arise during the symbolic execution of conditional branch type statements. A particular system called EFFIGY which provides symbolic execution for program testing and debugging is also described. It interpretively executes programs written in a simple PL/I style programming language. It includes many standard debugging features, the ability to manage and to prove things about symbolic expressions, a simple program testing manager, and a program verifier. A brief discussion of the relationship between symbolic execution and program proving is also included.

Software Testing and Debugging TechniquesSoftware Engineering ResearchLogic, programming, and type systemsSymbolic executionComputer scienceDebuggingConcolic testingProgramming languageThe SymbolicSymbolic trajectory evaluationSimple (philosophy)Exception handlingModel checking
Citations
2,952
FWCI
30.52
field-weighted impact
References
16
Percentile
99%
vs. same field & year
Citations per year
Citation Network

How this paper connects to the literature. Drag to explore, click any node to open that paper.

Symbolic execution and program testing · Scinovex