Boosting symbolic execution via constraint solving time prediction (experience paper)
Sicheng Luo, Hui Xu, Yanxiang Bi, Xin Wang, Yangfan Zhou
Abstract
Symbolic execution is an essential approach for automated test case generation. However, the approach is generally not scalable to large programs. One critical reason is that the constraint solving problems in symbolic execution are generally hard. Consequently, the symbolic execution process may get stuck in solving such hard problems. To mitigate this issue, symbolic execution tools generally rely on a timeout threshold to terminate the solving. Such a timeout is generally set to a fixed, predefined value, e.g., five minutes in angr. Nevertheless, how to set a proper timeout is critical to the tool’s efficiency. This paper proposes an approach to tackle the problem by predicting the time required for solving a constraint model so that the symbolic execution engine could base on the information to determine whether to continue the current solving process. Due to the cost of the prediction itself, our approach triggers the predictor only when the solving time has exceeded a relatively small value. We have shown that such a predictor can achieve promising performance with several different machine learning models and datasets. By further employing an adaptive design, the predictor can achieve an F1-score ranging from 0.743 to 0.800 on these datasets. We then apply the predictor to eight programs and conduct simulation experiments. Results show that the efficiency of constraint solving for symbolic execution can be improved by 1.25x to 3x, depending on the distribution of the hardness of their constraint models.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get e39b78b4-1ed8-4b58-babb-0ec8c1624b14Related papers
- Synthesize solving strategy for symbolic executionZhenbang Chen, Zehua Chen, Ziqi Shuai, Guofeng Zhang et al.ISSTA 2021 · 13 citations
- Generator Solving for Symbolic ExecutionSiwei Wei, Yan CaiICSE 2026
- Fast bit-vector satisfiabilityPeisen Yao, Qingkai Shi, Heqing Huang, Charles ZhangISSTA 2020 · 13 citations
- Multiplex Symbolic Execution: Exploring Multiple Paths by Solving OnceYufeng Zhang, Zhenbang Chen, Ziqi Shuai, Tianqi Zhang et al.ASE 2020 · 17 citations
- Pending Constraints in Symbolic Execution for Better Exploration and SeedingTimotej Kapus, Frank Busse, Cristian CadarASE 2020 · 8 citations
