Directed Incremental Symbolic Execution

被引:34
|
作者
Yang, Guowei [1 ]
Person, Suzette [2 ]
Rungta, Neha [3 ]
Khurshid, Sarfraz [4 ]
机构
[1] Texas State Univ, Dept Comp Sci, San Marcos, TX 78666 USA
[2] NASA, Langley Res Ctr, Hampton, VA 23681 USA
[3] NASA, Ames Res Ctr, Moffett Field, CA 94035 USA
[4] Univ Texas Austin, Dept Elect & Comp Engn, Austin, TX 78712 USA
基金
美国国家科学基金会;
关键词
Verification; Algorithms; Program differencing; symbolic execution; software evolution;
D O I
10.1145/2629536
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The last few years have seen a resurgence of interest in the use of symbolic execution-a program analysis technique developed more than three decades ago to analyze program execution paths. Scaling symbolic execution to real systems remains challenging despite recent algorithmic and technological advances. An effective approach to address scalability is to reduce the scope of the analysis. For example, in regression analysis, differences between two related program versions are used to guide the analysis. While such an approach is intuitive, finding efficient and precise ways to identify program differences, and characterize their impact on how the program executes has proved challenging in practice. In this article, we present Directed Incremental Symbolic Execution (DiSE), a novel technique for detecting and characterizing the impact of program changes to scale symbolic execution. The novelty of DiSE is to combine the efficiencies of static analysis techniques to compute program difference information with the precision of symbolic execution to explore program execution paths and generate path conditions affected by the differences. DiSE complements other reduction and bounding techniques for improving symbolic execution. Furthermore, DiSE does not require analysis results to be carried forward as the software evolves-only the source code for two related program versions is required. An experimental evaluation using our implementation of DiSE illustrates its effectiveness at detecting and characterizing the effects of program changes.
引用
收藏
页数:42
相关论文
共 50 条
  • [1] Directed Incremental Symbolic Execution
    Person, Suzette
    Yang, Guowei
    Rungta, Neha
    Khurshid, Sarfraz
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (06) : 504 - 515
  • [2] Directed Incremental Symbolic Execution
    Person, Suzette
    Yang, Guowei
    Rungta, Neha
    Khurshid, Sarfraz
    [J]. PLDI 11: PROCEEDINGS OF THE 2011 ACM CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2011, : 504 - 515
  • [3] Directed Symbolic Execution
    Kin-Keung Ma
    Khoo Yit Phang
    Foster, Jeffrey S.
    Hicks, Michael
    [J]. STATIC ANALYSIS, 2011, 6887 : 95 - 111
  • [4] Directed Symbolic Execution for VLSI Circuits
    Bhowmik, Biswajit
    Deka, Jatindra Kumar
    Biswas, Santosh
    [J]. 2015 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN, AND CYBERNETICS (SMC 2015): BIG DATA ANALYTICS FOR HUMAN-CENTRIC SYSTEMS, 2015, : 50 - 55
  • [5] Feedback-Driven Incremental Symbolic Execution
    Yi, Qiuping
    Yang, Guowei
    [J]. 2022 IEEE 33RD INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE 2022), 2022, : 505 - 516
  • [6] Compositional Symbolic Execution: Incremental Solving Revisited
    Lin, Yude
    Miller, Tim
    Sondergaard, Harald
    [J]. 2016 23RD ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2016), 2016, : 273 - 280
  • [7] Summary-Guided Incremental Symbolic Execution
    Yi, Qiuping
    Wen, Junye
    Yang, Guowei
    [J]. 2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2020), 2020, : 310 - 311
  • [8] Incremental Symbolic Execution of Evolving State Machines
    Khalil, Amal
    Dingel, Juergen
    [J]. 2015 ACM/IEEE 18TH INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS (MODELS), 2015, : 14 - 23
  • [9] Path Directed Symbolic Execution in the K Framework
    Asavoae, Irina Mariuca
    Asavoae, Mihail
    Lucanu, Dorel
    [J]. 12TH INTERNATIONAL SYMPOSIUM ON SYMBOLIC AND NUMERIC ALGORITHMS FOR SCIENTIFIC COMPUTING (SYNASC 2010), 2011, : 133 - 141
  • [10] Directed Symbolic Execution for Binary Vulnerability Mining
    Wu, Bo
    Li, Mengjun
    Zhang, Bin
    Zhang, Quan
    Tang, Chaojing
    [J]. 2014 IEEE WORKSHOP ON ELECTRONICS, COMPUTER AND APPLICATIONS, 2014, : 614 - 617