Directed Incremental Symbolic Execution

被引:0
|
作者
Person, Suzette [1 ]
Yang, Guowei [1 ]
Rungta, Neha [1 ]
Khurshid, Sarfraz [1 ]
机构
[1] NASA, Langley Res Ctr, Washington, DC 20546 USA
关键词
Program Differencing; Symbolic Execution; Software Evolution;
D O I
暂无
中图分类号
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 and other path-sensitive analysis techniques to large systems remains challenging despite recent algorithmic and technological advances. An alternative to solving the problem of scalability is to reduce the scope of the analysis. One approach that is widely studied in the context of regression analysis is to analyze the differences between two related program versions. While such an approach is intuitive in theory, finding efficient and precise ways to identify program differences, and characterize their effects on how the program executes has proved challenging in practice. In this paper, we present Directed Incremental Symbolic Execution (DiSE), a novel technique for detecting and characterizing the effects of program changes. 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 is a complementary technique to other reduction or bounding techniques developed to improve 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. A case-study of our implementation of DiSE illustrates its effectiveness at detecting and characterizing the effects of program changes.
引用
收藏
页码:504 / 515
页数:12
相关论文
共 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
    Yang, Guowei
    Person, Suzette
    Rungta, Neha
    Khurshid, Sarfraz
    [J]. ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2014, 24 (01)
  • [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