Synthesize Solving Strategy for Symbolic Execution
Fri 16 Jul 2021 02:20 - 02:40 at ISSTA 2 - Session 14 (time band 2) Symbolic Execution 2 Chair(s): Martin Nowack
Symbolic execution is powered by constraint solving. The advancement of constraint solving boosts the development and the applications of symbolic execution. Modern SMT solvers provide the mechanism of solving strategy that allows the users to control the solving procedure, which significantly improves the solver's generalization ability. We observe that the symbolic executions of different programs are actually different constraint solving problems. Therefore, we propose synthesizing a solving strategy for a program to fit the program's symbolic execution best. To achieve this, we divide symbolic execution into two stages. The SMT formulas solved in the first stage are used to online synthesize a solving strategy, which is then employed during the constraint solving in the second stage. We propose novel synthesis algorithms that combine offline trained deep learning models and online tuning to synthesize the solving strategy. The algorithms balance the synthesis overhead and the improvement achieved by the synthesized solving strategy.
We have implemented our method on the state-of-the-art symbolic execution engine KLEE for C programs. The results of the extensive experiments indicate that our method effectively improves the efficiency of symbolic execution. On average, our method increases the numbers of queries and paths by 58.76% and 66.11%, respectively. Besides, we applied our method to a Java Pathfinder-based concolic execution engine to validate the generalization ability. The results indicate that our method has a good generalization ability and increases the numbers of queries and paths by 100.24% and 102.6% for the benchmark Java programs, respectively.
Thu 15 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
09:10 - 10:50 | Session 10 (time band 3) Symbolic Execution 1Technical Papers at ISSTA 2 Chair(s): Sébastien Bardin CEA LIST, University Paris-Saclay | ||
09:10 20mTalk | Fuzzing SMT Solvers via Two-Dimensional Input Space Exploration Technical Papers Peisen Yao Hong Kong University of Science and Technology, Heqing Huang Hong Kong University of Science and Technology, Wensheng Tang Hong Kong University of Science and Technology, Qingkai Shi Purdue University, Rongxin Wu Xiamen University, Charles Zhang Hong Kong University of Science and Technology DOI | ||
09:30 20mTalk | Boosting Symbolic Execution via Constraint Solving Time Prediction (Experience Paper) Technical Papers Sicheng Luo Fudan University, Hui Xu Fudan University, Yanxiang Bi Fudan University, Xin Wang Fudan University, Yangfan Zhou Fudan University DOI File Attached | ||
09:50 20mTalk | Synthesize Solving Strategy for Symbolic Execution Technical Papers Zhenbang Chen National University of Defense Technology, Zehua Chen National University of Defense Technology, Ziqi Shuai National University of Defense Technology, Guofeng Zhang Hunan University, Weiyu Pan National University of Defense Technology, Yufeng Zhang Hunan University, Ji Wang National University of Defense Technology DOI | ||
10:10 20mTalk | Type and Interval Aware Array Constraint Solving for Symbolic ExecutionACM SIGSOFT Distinguished Paper Technical Papers Ziqi Shuai National University of Defense Technology, Zhenbang Chen National University of Defense Technology, Yufeng Zhang Hunan University, Jun Sun Singapore Management University, Ji Wang National University of Defense Technology DOI | ||
10:30 20mTalk | Grammar-Agnostic Symbolic Execution by Token Symbolization Technical Papers Weiyu Pan National University of Defense Technology, Zhenbang Chen National University of Defense Technology, Guofeng Zhang Hunan University, Yunlai Luo National University of Defense Technology, Yufeng Zhang Hunan University, Ji Wang National University of Defense Technology DOI |
Fri 16 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
02:00 - 03:20 | Session 14 (time band 2) Symbolic Execution 2Technical Papers at ISSTA 2 Chair(s): Martin Nowack Imperial College London | ||
02:00 20mTalk | Fuzzing SMT Solvers via Two-Dimensional Input Space Exploration Technical Papers Peisen Yao Hong Kong University of Science and Technology, Heqing Huang Hong Kong University of Science and Technology, Wensheng Tang Hong Kong University of Science and Technology, Qingkai Shi Purdue University, Rongxin Wu Xiamen University, Charles Zhang Hong Kong University of Science and Technology DOI | ||
02:20 20mTalk | Synthesize Solving Strategy for Symbolic Execution Technical Papers Zhenbang Chen National University of Defense Technology, Zehua Chen National University of Defense Technology, Ziqi Shuai National University of Defense Technology, Guofeng Zhang Hunan University, Weiyu Pan National University of Defense Technology, Yufeng Zhang Hunan University, Ji Wang National University of Defense Technology DOI | ||
02:40 20mTalk | Type and Interval Aware Array Constraint Solving for Symbolic ExecutionACM SIGSOFT Distinguished Paper Technical Papers Ziqi Shuai National University of Defense Technology, Zhenbang Chen National University of Defense Technology, Yufeng Zhang Hunan University, Jun Sun Singapore Management University, Ji Wang National University of Defense Technology DOI | ||
03:00 20mTalk | Grammar-Agnostic Symbolic Execution by Token Symbolization Technical Papers Weiyu Pan National University of Defense Technology, Zhenbang Chen National University of Defense Technology, Guofeng Zhang Hunan University, Yunlai Luo National University of Defense Technology, Yufeng Zhang Hunan University, Ji Wang National University of Defense Technology DOI |