Conc-iSE: Incremental Symbolic Execution of Concurrent Software

被引:33
作者
Guo, Shengjian [1 ]
Kusano, Markus [1 ]
Wang, Chao [2 ]
机构
[1] Virginia Tech, Dept ECE, Blacksburg, VA 24061 USA
[2] Univ Southern Calif, Dept CS, Los Angeles, CA USA
来源
2016 31ST IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE) | 2016年
基金
美国国家科学基金会;
关键词
Symbolic execution; Concurrency; Partial order reduction; Weakest precondition; GRAPH;
D O I
10.1145/2970276.2970332
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software updates often introduce new bugs to existing code bases. Prior regression testing tools focus mainly on test case selection and prioritization whereas symbolic execution tools only handle code changes in sequential software. In this paper, we propose the first incremental symbolic execution method for concurrent software to generate new tests by exploring only the executions affected by code changes between two program versions. Specifically, we develop an inter-thread and inter-procedural change-impact analysis to check if a statement is affected by the changes and then leverage the information to choose executions that need to be re-explored. We also check if execution summaries computed in the previous program can be used to avoid redundant explorations in the new program. We have implemented our method in an incremental symbolic execution tool called Conc-iSE and evaluated it on a large set of multithreaded C programs. Our experiments show that the new method can significantly reduce the overall symbolic execution time when compared with state-of-the-art symbolic execution tools such as KLEE.
引用
收藏
页码:531 / 542
页数:12
相关论文
共 48 条
[1]  
[Anonymous], 2014, IEEE ACM INT C AUT S, DOI DOI 10.1145/2642937.2642998
[2]  
[Anonymous], 1976, A discipline of programming
[3]  
[Anonymous], 1996, LECT NOTES COMPUTER, DOI DOI 10.1007/3-540-60761-7
[4]  
Backes John, 2013, Model Checking Software. 20th International Symposium, SPIN 2013. Proceedings, P99, DOI 10.1007/978-3-642-39176-7_7
[5]  
Bravenboer M, 2009, OOPSLA 2009, CONFERENCE PROCEEDINGS, P243
[6]  
Cadar C., 2008, Proceedings of the 8th USENIX conference on Operating systems design and implementation, OSDI'08, (USA), P209
[7]  
Ciortea Liviu, 2009, Operating Systems Review, V43, P5, DOI 10.1145/1713254.1713257
[8]   A framework to synergize partial order reduction with state interpolation [J].
Chu, Duc-Hiep ;
Jaffar, Joxan .
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2014, 8855 :171-187
[9]  
Farzan Azadeh, 2013, P 2013 9 JOINT M FDN, P37
[10]   THE PROGRAM DEPENDENCE GRAPH AND ITS USE IN OPTIMIZATION [J].
FERRANTE, J ;
OTTENSTEIN, KJ ;
WARREN, JD .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1987, 9 (03) :319-349