Static Symbolic Execution in SVF

Publication Type:
Thesis
Issue Date:
2022
Full metadata record
This thesis presents the implementation of a static symbolic execution (SSE) tool on top of SVF framework. SSE is a well-studied technique for program testing and verification, which is based on collecting the program execution paths and exploring the program behaviours in the form of the constraints. SSE replies on SVF-IR language to translate the program into logical formulas of a particular rules-based form which supplies useful program properties for use in the program analysis. SSE maintains all elements of program running data and its manipulations. More precisely, SSE traverses on program control flow graph and modulates program behaviours, e.g., buffer-over-flow is an anomaly in program, which can be identified that the data overruns the buffer’s boundary and overwrites adjacent memory locations. Experiments conducting our implementation of SSE indicates many benefits by using symbolic execution, e.g., depth-first searching on particular paths to mimic real program execution process, or finding certain program anomalies based on translating rules.
Please use this identifier to cite or link to this item: