What is Symbolic Execution?
Symbolic execution is a technique used in software testing and analysis to systematically explore the possible execution paths of a program. Unlike traditional testing methods that use concrete values as inputs, symbolic execution utilizes symbolic values that represent variables, function arguments, or program inputs.
- The concepts and method of Symbolic Execution
- Path Explosion
- Constraint Solving
- Memory Model
- Environment Interaction
- Engine and so on.
- Symbolic execution and program testing, Communications of the ACM, James C. King, 1976
- Symbolic execution for software testing: three decades later, Communications of the ACM, Cristian Cadar, Koushik Sen, 2013
- A Survey of Symbolic Execution Techniques, ACM Computing Surveys, Roberto Baldoni, Emilio Coppa, Daniele Cono D’elia, Camil Demetrescu, Irene Finocchi, 2018
- SOK: (State of) The Art of War: Offensive Techniques in Binary Analysis, 2019 International Conference on Communications, Signal Processing and Networks (ICCSPN), 2019