Definition
Plain language
Running a program with placeholders instead of real inputs to find inputs that would trigger bugs.
As stated in the literature
A program-analysis technique that runs code over symbolic inputs and uses a constraint solver to find concrete inputs that reach specific paths or trigger violations.
Why it matters: It systematically discovers bugs and exploits that random testing would almost never hit, at the cost of being computationally expensive.
For example, a security tool can symbolically execute a parser to find an input that overflows a buffer without having to guess inputs at random.
Heard on the show
“There's this technique called symbolic execution.”Episode 014 — Why a Constrained Pipeline Beat a Full Coding Agent at Finding Bugs 30-to-1