A gentle introduction to symbolic execution
Symbolic execution is a form of static analysis that permits reasoning about programs with unspecified inputs , and that stand in for any possible concrete value. When a program has a free variable, we can consider an entire space of possible execution paths, one for each possible value the variable could take. When we perform this query, there’s exactly one satisfying model:
In this query, our program inputs were concrete and the result was kept free — just like in concrete execution.
Source: blog.monic.co