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 条
  • [41] Symbolic execution debugger (SED)
    Hentschel, Martin
    Bubel, Richard
    Hähnle, Reiner
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2014, 8734 : 255 - 262
  • [42] A Personal Retrospective on Symbolic Execution
    Clarke, Lori A.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2025, 51 (03) : 706 - 709
  • [43] ARRAY REPRESENTATION IN SYMBOLIC EXECUTION
    COENPORISINI, A
    DEPAOLI, F
    COMPUTER LANGUAGES, 1993, 18 (03): : 197 - 216
  • [44] A Bounded Symbolic-Size Model for Symbolic Execution
    Trabish, David
    Itzhaky, Shachar
    Rinetzky, Noam
    PROCEEDINGS OF THE 29TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '21), 2021, : 1190 - 1201
  • [45] Symbolic Execution for Java']JavaScript
    Santos, Jose Fragoso
    Maksimovic, Petar
    Grohens, Theotime
    Dolby, Julian
    Gardner, Philippa
    PPDP'18: PROCEEDINGS OF THE 20TH INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING, 2018,
  • [46] Enhancing Symbolic Execution with Veritesting
    Avgerinos, Thanassis
    Rebert, Alexandre
    Cha, Sang Kil
    Brumley, David
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, : 1083 - 1094
  • [47] Improving the Accuracy of Static Defect Analysis Based on Symbolic Execution
    Wang M.-L.
    Zhang Y.-N.
    Li M.-Y.
    Shao S.
    Liu S.-R.
    Beijing Ligong Daxue Xuebao/Transaction of Beijing Institute of Technology, 2020, 40 (04): : 382 - 385and395
  • [48] Symbolic Execution of Multithreaded Programs from Arbitrary Program Contexts
    Bergan, Tom
    Grossman, Dan
    Ceze, Luis
    ACM SIGPLAN NOTICES, 2014, 49 (10) : 491 - 506
  • [49] Symbolic Execution for Memory Consumption Analysis
    Chu, Duc-Hiep
    Jaffar, Joxan
    Maghareh, Rasool
    ACM SIGPLAN NOTICES, 2016, 51 (05) : 62 - 71
  • [50] Sound Gradual Verification with Symbolic Execution
    Zimmerman, Conrad
    Divincenzo, Jenna
    Aldrich, Jonathan
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (POPL): : 2547 - 2576