A synergistic approach to improving symbolic execution using test ranges

被引:6
作者
Yang, Guowei [1 ]
Qiu, Rui [2 ]
Khurshid, Sarfraz [2 ]
Pasareanu, Corina S. [3 ]
Wen, Junye [1 ]
机构
[1] Texas State Univ, Dept Comp Sci, 601 Univ Dr, San Marcos, TX 78666 USA
[2] Univ Texas Austin, Elect & Comp Engn, Austin, TX 78712 USA
[3] Carnegie Mellon Univ, NASA Ames, Moffett Field, CA 94035 USA
基金
美国国家科学基金会;
关键词
MODEL-CHECKING; CUTE;
D O I
10.1007/s11334-019-00331-9
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Symbolic execution is a systematic technique for checking programs, which has received a lot of research attention during the last decade. In principle, symbolic execution provides a powerful analysis for bug finding. In practice however, the technique remains computationally expensive and hard to scale. This paper introduces SynergiSE, a novel synergistic approach to improving symbolic execution by tackling a key bottleneck to its wider adoption: costly and incomplete constraint solving. To mitigate the cost, SynergiSE introduces a succinct encoding of constraint solving results, thereby enabling symbolic execution to be distributed among different workers while sharing and reusing constraint solving results among them without having to communicate databases of constraint solving results. To mitigate the incompleteness, SynergiSE introduces an integration of complementary approaches for testing, e.g., search-based test generation, with symbolic execution, thereby enabling symbolic execution and other techniques to apply in tandem, say to create higher-quality tests. Experimental results using a suite of Java programs show that SynergiSE presents a promising approach for improving symbolic execution.
引用
收藏
页码:325 / 342
页数:18
相关论文
共 66 条
[11]  
Beyer D., 2012, P FSE, DOI DOI 10.1145/2393596.2393664
[12]   CPA-SymExec: Efficient Symbolic Execution in CPAchecker [J].
Beyer, Dirk ;
Lemberger, Thomas .
PROCEEDINGS OF THE 2018 33RD IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMTED SOFTWARE ENGINEERING (ASE' 18), 2018, :900-903
[13]  
Boyapati C., 2002, Software Engineering Notes, V27, P123, DOI 10.1145/566171.566191
[14]  
Bucur S, 2011, EUROSYS 11: PROCEEDINGS OF THE EUROSYS 2011 CONFERENCE, P183
[15]   WISE: Automated Test Generation for Worst-Case Complexity [J].
Burnim, Jacob ;
Juvekar, Sudeep ;
Sen, Koushik .
2009 31ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2009, :463-473
[16]  
Cadar C., 2008, Proceedings of the 8th USENIX conference on Operating systems design and implementation, OSDI'08, (USA), P209
[17]  
Castaño R, 2017, IEEE INT CONF AUTOM, P200, DOI 10.1109/ASE.2017.8115633
[18]  
Clarke LoriA., 1976, Proc. of the 1976 annual conference, P488
[19]  
Corina S. Pas., 2010, P 25 IEEE ACM INT C, P179, DOI [DOI 10.1145/1858996.1859035, 10.1145/1858996.1859035]
[20]   Optimizing Parallel Korat Using Invalid Ranges [J].
Dini, Nima ;
Yelen, Cagdas ;
Khurshid, Sarfraz .
SPIN'17: PROCEEDINGS OF THE 24TH ACM SIGSOFT INTERNATIONAL SPIN SYMPOSIUM ON MODEL CHECKING OF SOFTWARE, 2017, :182-191