Publication Type
Journal Article
Version
publishedVersion
Publication Date
7-2024
Abstract
Constraint solving is one of the main challenges for symbolic execution. Caching is an effective mechanism to reduce the number of the solver invocations in symbolic execution and is adopted by many mainstream symbolic execution engines. However, caching can not perform well on all programs. How to improve caching’s effectiveness is challenging in general. In this work, we propose a partial solution-based caching method for improving caching’s effectiveness. Our key idea is to utilize the partial solutions inside the constraint solving to generate more cache entries. A partial solution may satisfy other constraints of symbolic execution. Hence, our partial solution-based caching method naturally improves the rate of cache hits. We have implemented our method on two mainstream symbolic executors (KLEE and Symbolic PathFinder) and two SMT solvers (STP and Z3). The results of extensive experiments on real-world benchmarks demonstrate that our method effectively increases the number of the explored paths in symbolic execution. Our caching method achieves 1.07x to 2.3x speedups for exploring the same amount of paths on different benchmarks.
Keywords
Symbolic Execution, Constraint Solving, Cache
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Areas of Excellence
Digital transformation
Publication
Proceedings of the ACM on Software Engineering
Volume
1
Issue
FSE
First Page
2493
Last Page
2514
Identifier
10.1145/3660817
Publisher
Association for Computing Machinery
Citation
SHUAI, Ziqi; CHEN, Zhenbang; MA, Kelin; LIU, Kunlin; ZHANG, Yufeng; SUN, Jun; and WANG, Ji.
Partial solution based constraint solving cache in symbolic execution. (2024). Proceedings of the ACM on Software Engineering. 1, (FSE), 2493-2514.
Available at: https://ink.library.smu.edu.sg/sis_research/9179
Copyright Owner and License
Authors
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1145/3660817