Feedback-Driven Incremental Symbolic Execution

被引:3
|
作者
Yi, Qiuping [1 ]
Yang, Guowei [2 ]
机构
[1] Beijing Univ Posts & Telecommun, Beijing, Peoples R China
[2] Univ Queensland, Brisbane, Qld, Australia
来源
2022 IEEE 33RD INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE 2022) | 2022年
基金
美国国家科学基金会;
关键词
symbolic execution; incremental analysis; feedback loop; static analysis;
D O I
10.1109/ISSRE55969.2022.00055
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Incremental symbolic execution addresses the scalability problem of symbolic execution by concentrating on incremental behaviors that are introduced by the changes during program evolution. However, the state-of-the-art techniques still face the challenge to efficiently and precisely explore incremental program behaviors. In this paper, we present FENSE, a novel approach for incremental symbolic execution which checks whether the current path may subsume different incremental behavior from previous explorations. This is enabled by summarizing previously explored paths by recording the variables that may induce different incremental behaviors at each branch location. Our approach can identify redundant paths which share the same incremental behavior as previous explorations during test generation. Pruning away such redundant paths can lead to a potentially exponential redunction in the number of explored paths. We implemented a prototype of FENSE and conducted experiments on a set of real-world applications. The experimental results show that our approach is effective in reducing the number of explored paths as well as the execution time, compared with the state-of-the-art techniques.
引用
收藏
页码:505 / 516
页数:12
相关论文
共 50 条
  • [31] Tackling the Path Explosion Problem in Symbolic Execution-driven Test Generation for Programs
    Krishnamoorthy, Saparya
    Hsiao, Michael S.
    Lingappan, Loganathan
    2010 19TH IEEE ASIAN TEST SYMPOSIUM (ATS 2010), 2010, : 59 - 64
  • [32] Specification Extraction by Symbolic Execution
    Pichler, Josef
    2013 20TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE), 2013, : 462 - 466
  • [33] SymJEx: Symbolic Execution on the GraalVM
    Kloibhofer, Sebastian
    Pointhuber, Thomas
    Heisinger, Maximilian
    Moessenboeck, Hanspeter
    Stadler, Lukas
    Leopoldseder, David
    MPLR '20: PROCEEDINGS OF THE 17TH INTERNATIONAL CONFERENCE ON MANAGED PROGRAMMING LANGUAGES AND RUNTIMES, 2020, : 63 - 72
  • [34] Dependence Guided Symbolic Execution
    Wang, Haijun
    Liu, Ting
    Guan, Xiaohong
    Shen, Chao
    Zheng, Qinghua
    Yang, Zijiang
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2017, 43 (03) : 252 - 271
  • [35] Symbolic Execution Debugger (SED)
    Hentschel, Martin
    Bubel, Richard
    Haehnle, Reiner
    RUNTIME VERIFICATION, RV 2014, 2014, 8734 : 255 - 262
  • [36] Denotational Semantics for Symbolic Execution
    Voogd, Erik
    Klovstad, Asmund Aqissiaq Arild
    Johnsen, Einar Broch
    THEORETICAL ASPECTS OF COMPUTING, ICTAC 2023, 2023, 14446 : 370 - 387
  • [37] Deconstructing Dynamic Symbolic Execution
    Ball, Thomas
    Daniel, Jakub
    DEPENDABLE SOFTWARE SYSTEMS ENGINEERING, 2015, 40 : 26 - 41
  • [38] Symbolic execution of programs with strings
    Redelinghuys, Gideon
    Visser, Willem
    Geldenhuys, Jaco
    PROCEEDINGS OF THE SOUTH AFRICAN INSTITUTE FOR COMPUTER SCIENTISTS AND INFORMATION TECHNOLOGISTS CONFERENCE, 2012, : 139 - 148
  • [39] Symbolic Execution of Obfuscated Code
    Yadegari, Babak
    Debray, Saumya
    CCS'15: PROCEEDINGS OF THE 22ND ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2015, : 732 - 744
  • [40] Lazy Counterfactual Symbolic Execution
    Hallahan, William T.
    Xue, Anton
    Bland, Maxwell Troy
    Jhala, Ranjit
    Piskac, Ruzica
    PROCEEDINGS OF THE 40TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '19), 2019, : 411 - 424