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 条
  • [21] A generic framework for symbolic execution: A coinductive approach
    Lucanu, Dorel
    Rusu, Vlad
    Arusoaie, Andrei
    JOURNAL OF SYMBOLIC COMPUTATION, 2017, 80 : 125 - 163
  • [22] Finding ∀∃ Hyperbugs using Symbolic Execution
    Correnson, Arthur
    Niessen, Tobias
    Finkbeiner, Bernd
    Weissenbacher, Georg
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (OOPSLA):
  • [23] VERIFICATION OF PROTOCOLS USING SYMBOLIC EXECUTION
    BRAND, D
    JOYNER, WH
    COMPUTER NETWORKS AND ISDN SYSTEMS, 1978, 2 (4-5): : 351 - 360
  • [24] Scalable Test Generation by Interleaving Concrete and Symbolic Execution
    Qin, Xiaoke
    Mishra, Prabhat
    2014 27TH INTERNATIONAL CONFERENCE ON VLSI DESIGN AND 2014 13TH INTERNATIONAL CONFERENCE ON EMBEDDED SYSTEMS (VLSID 2014), 2014, : 104 - 109
  • [25] Evaluating Symbolic Execution-based Test Tools
    Cseppento, Lajos
    Micskei, Zoltan
    2015 IEEE 8TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2015,
  • [26] Protocol testing with symbolic execution and rule based specification using multicore approach
    George, Sherin Mariam
    Sangeetha, U.
    INTERNATIONAL CONFERENCE ON EMERGING TRENDS IN ENGINEERING, SCIENCE AND TECHNOLOGY (ICETEST - 2015), 2016, 24 : 1609 - 1615
  • [27] Generating Test Data Using Symbolic Execution: Challenges with Floating Point Data Types
    Prelgauskas, Justinas
    Bareisa, Eduardas
    INFORMATION AND SOFTWARE TECHNOLOGIES, 2012, 319 : 267 - 274
  • [28] Automated Coverage-Driven Test Data Generation Using Dynamic Symbolic Execution
    Su, Ting
    Pu, Geguang
    Fang, Bin
    He, Jifeng
    Yan, Jun
    Jiang, Siyuan
    Zhao, Jianjun
    2014 EIGHTH INTERNATIONAL CONFERENCE ON SOFTWARE SECURITY AND RELIABILITY, 2014, : 98 - 107
  • [29] Using Fuzzy Logic & Symbolic Execution to Prioritize UML-RT Test Cases
    Rapos, Eric J.
    Dingel, Juergen
    2015 IEEE 8TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2015,
  • [30] Unit Test Data Generation for C Using Rule-Directed Symbolic Execution
    Zhang, Ming-Zhe
    Gong, Yun-Zhan
    Wang, Ya-Wen
    Jin, Da-Hai
    JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2019, 34 (03) : 670 - 689