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 条
  • [41] Symbolic Router Execution
    Zhang, Peng
    Wang, Dan
    Gember-Jacobson, Aaron
    [J]. SIGCOMM '22: PROCEEDINGS OF THE 2022 ACM SIGCOMM 2022 CONFERENCE, 2022, : 336 - 349
  • [42] Postconditioned Symbolic Execution
    Yi, Qiuping
    Yang, Zijiang
    Guo, Shengjian
    Wang, Chao
    Liu, Jian
    Zhao, Chen
    [J]. 2015 IEEE 8TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2015,
  • [43] Symbolic execution with abstraction
    Anand S.
    Pǎsǎreanu C.S.
    Visser W.
    [J]. International Journal on Software Tools for Technology Transfer, 2009, 11 (1) : 53 - 67
  • [44] Advances in Symbolic Execution
    Yang, Guowei
    Filieri, Antonio
    Borges, Mateus
    Clun, Donato
    Wen, Junye
    [J]. ADVANCES IN COMPUTERS, VOL 113, 2019, 113 : 225 - 287
  • [45] SYMBOLIC EXECUTION AND TESTING
    COWARD, PD
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 1991, 33 (01) : 53 - 64
  • [46] The Symbolic Execution Debugger (SED): a platform for interactive symbolic execution, debugging, verification and more
    Martin Hentschel
    Richard Bubel
    Reiner Hähnle
    [J]. International Journal on Software Tools for Technology Transfer, 2019, 21 : 485 - 513
  • [47] How symbolic animation can help designing an efficient formal model
    Bouquet, F
    Dadeau, F
    Legeard, B
    [J]. FORMAL METHODS AND SOFTWARE ENGINEERING, PROCEEDINGS, 2005, 3785 : 96 - 110
  • [48] The Symbolic Execution Debugger (SED): a platform for interactive symbolic execution, debugging, verification and more
    Hentschel, Martin
    Bubel, Richard
    Haehnle, Reiner
    [J]. INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2019, 21 (05) : 485 - 513
  • [49] Specification Extraction by Symbolic Execution
    Pichler, Josef
    [J]. 2013 20TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE), 2013, : 462 - 466
  • [50] A symbolic execution semantics for TopHat
    Naus, Nico
    Steenvoorden, Tim
    Klinik, Markus
    [J]. PROCEEDINGS OF THE 31ST SYMPOSIUM ON IMPLEMENTATION AND APPLICATION OF FUNCTIONAL LANGUAGES, IFL 2019, 2019,