A synergistic approach to improving symbolic execution using test ranges

被引:5
|
作者
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
相关论文
共 50 条
  • [1] A synergistic approach to improving symbolic execution using test ranges
    Guowei Yang
    Rui Qiu
    Sarfraz Khurshid
    Corina S. Păsăreanu
    Junye Wen
    Innovations in Systems and Software Engineering, 2019, 15 : 325 - 342
  • [2] A Synergistic Approach for Distributed Symbolic Execution Using Test Ranges
    Qiu, Rui
    Khurshid, Sarfraz
    Pasareanu, Corina S.
    Yang, Guowei
    PROCEEDINGS OF THE 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C 2017), 2017, : 130 - 132
  • [3] Using Test Ranges to Improve Symbolic Execution
    Qiu, Rui
    Khurshid, Sarfraz
    Pasareanu, Corina S.
    Wen, Junye
    Yang, Guowei
    NASA FORMAL METHODS, NFM 2018, 2018, 10811 : 416 - 434
  • [4] Test Case Generation Using Symbolic Execution
    Pattanaik, Saumendra
    Sahoo, Bidush Kumar
    Panigrahi, Chhabi Rani
    Patnaik, Binod Kumar
    Pati, Bibudhendu
    COMPUTACION Y SISTEMAS, 2022, 26 (02): : 1035 - 1044
  • [5] Using symbolic execution to guide test generation
    Lee, G
    Morris, J
    Parker, K
    Bundell, GA
    Lam, P
    SOFTWARE TESTING VERIFICATION & RELIABILITY, 2005, 15 (01): : 41 - 61
  • [6] Symbolic Execution - An efficient approach for test case generation
    Vengadeswaran, S.
    Geetha, K.
    2013 INTERNATIONAL CONFERENCE ON RECENT TRENDS IN INFORMATION TECHNOLOGY (ICRTIT), 2013, : 575 - 581
  • [7] Improving the Cooperation of Fuzzing and Symbolic Execution by Test-cases Prioritizing
    Ye, Jiaxi
    Zhang, Bin
    Feng, Chao
    Tang, Chaojing
    Ye, Ziqing
    2017 13TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND SECURITY (CIS), 2017, : 543 - 547
  • [8] make test-zesti: A Symbolic Execution Solution for Improving Regression Testing
    Marinescu, Paul Dan
    Cadar, Cristian
    2012 34TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2012, : 716 - 726
  • [9] Improving Search-based Test Suite Generation with Dynamic Symbolic Execution
    Galeotti, Juan Pablo
    Fraser, Gordon
    Arcuri, Andrea
    2013 IEEE 24TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2013, : 360 - 369
  • [10] Exhaustive Test-case Generation using Symbolic Execution
    Uehara, Tadahiro
    FUJITSU SCIENTIFIC & TECHNICAL JOURNAL, 2016, 52 (01): : 34 - 40