Efficient and formal generalized symbolic execution

被引:0
|
作者
Xianghua Deng
Jooyong Lee
机构
[1] Pennsylvania State University at Harrisburg,
[2] Google Inc.,undefined
[3] Korea University,undefined
[4] Kansas State University,undefined
来源
关键词
Symbolic execution; Operational semantics; JVM; Soundness; Completeness;
D O I
暂无
中图分类号
学科分类号
摘要
Programs that manipulate dynamic heap objects are difficult to analyze due to issues like aliasing. Lazy initialization algorithm enables the classical symbolic execution to handle such programs. Despite its successes, there are two unresolved issues: (1) inefficiency; (2) lack of formal study. For the inefficiency issue, we have proposed two improved algorithms that give significant analysis time reduction over the original lazy initialization algorithm. In this article, we formalize the lazy initialization algorithm and the improved algorithms as operational semantics of a core subset of the Java Virtual Machine (JVM) instructions, and prove that all algorithms are relatively sound and complete with respect to the JVM concrete semantics. Finally, we conduct a set of extensive experiments that compare the three algorithms and demonstrate the efficiency of the improved algorithms.
引用
收藏
页码:233 / 301
页数:68
相关论文
共 50 条
  • [1] Efficient and formal generalized symbolic execution
    Deng, Xianghua
    Lee, Jooyong
    Robby
    [J]. AUTOMATED SOFTWARE ENGINEERING, 2012, 19 (03) : 233 - 301
  • [2] FORMAL PROGRAM VERIFICATION USING SYMBOLIC EXECUTION
    DANNENBERG, RB
    ERNST, GW
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1982, 8 (01) : 43 - 52
  • [3] A Formal Model for Detecting Bugs by Symbolic Execution of Programs
    Gerasimov, A. Yu.
    Kuts, D. O.
    Novikov, A. A.
    [J]. PROGRAMMING AND COMPUTER SOFTWARE, 2020, 46 (08) : 731 - 736
  • [4] A Formal Model for Detecting Bugs by Symbolic Execution of Programs
    A. Yu. Gerasimov
    D. O. Kuts
    A. A. Novikov
    [J]. Programming and Computer Software, 2020, 46 : 731 - 736
  • [5] Efficient State Merging in Symbolic Execution
    Kuznetsov, Volodymyr
    Kinder, Johannes
    Bucur, Stefan
    Candea, George
    [J]. ACM SIGPLAN NOTICES, 2012, 47 (06) : 193 - 204
  • [6] Efficient Loop Navigation for Symbolic Execution
    Obdrzalek, Jan
    Trtik, Marek
    [J]. AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, 2011, 6996 : 453 - 462
  • [7] Efficient symbolic execution for software testing
    Kinder, Johannes
    [J]. 2014 FORMAL METHODS IN COMPUTER-AIDED DESIGN (FMCAD), 2014, : 5 - 5
  • [8] Generalized symbolic execution for model checking and testing
    Khurshid, S
    Pasareanu, CS
    Visser, W
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2003, 2619 : 553 - 568
  • [9] Selective Symbolization Based Efficient Symbolic Execution
    Liu, Yang
    Zhang, Guofeng
    Chen, Zhenbang
    Shuai, Ziqi
    [J]. 2021 21ST INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY COMPANION (QRS-C 2021), 2021, : 1169 - 1170
  • [10] Exploiting Undefined Behaviors for Efficient Symbolic Execution
    Sharma, Asankhaya
    [J]. 36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE COMPANION 2014), 2014, : 727 - 729