# 8.2.2 Symbolic Execution for Software Testing: Three Decades Later