TracerX: Dynamic Symbolic Execution with Interpolation (Competition Contribution)

被引:11
|
作者
Jaffar, Joxan [1 ]
Maghareh, Rasool [1 ]
Godboley, Sangharatna [1 ]
Xuan-Linh Ha [1 ]
机构
[1] Natl Univ Singapore, Singapore, Singapore
关键词
Dynamic Symbolic Execution; Interpolation; Testing; Code Coverage;
D O I
10.1007/978-3-030-45234-6_28
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Dynamic Symbolic Execution (DSE) is an important method for testing of programs. An important system on DSE is KLEE [1] which inputs a C/C++ program annotated with symbolic variables, compiles it into LLVM, and then emulates the execution paths of LLVM using a specified backtracking strategy. The major challenge in symbolic execution is path explosion. The method of abstraction learning [7] has been used to address this. The key step here is the computation of an interpolant to represent the learned abstraction. TracerX, our tool, is built on top of KLEE and it implements and utilizes abstraction learning. The core feature in abstraction learning is subsumption of paths whose traversals are deemed to no longer be necessary due to similarity with already-traversed paths. Despite the overhead of computing interpolants, the pruning of the symbolic execution tree that interpolants provide often brings significant overall benefits. In particular, TracerX can fully explore many programs that would be impossible for any non-pruning system like KLEE to do so.
引用
收藏
页码:530 / 534
页数:5
相关论文
共 50 条
  • [21] Anxiety: a dynamic symbolic execution framework
    Gerasimov, Alexander
    Vartanov, Sergey
    Ermakov, Mikhail
    Kruglov, Leonid
    Kutz, Daniil
    Novikov, Alexander
    Asryan, Seryozha
    2017 IVANNIKOV ISPRAS OPEN CONFERENCE (ISPRAS), 2017, : 16 - 21
  • [22] LART: Compiled Abstract Execution (Competition Contribution)
    Lauko, Henrich
    Rockai, Petr
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2022, PT II, 2022, 13244 : 457 - 461
  • [23] Dynamic Partitioning Strategy to Enhance Symbolic Execution
    Marcellino, Brendan A.
    Hsiao, Michael S.
    PROCEEDINGS OF THE 2016 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2016, : 774 - 779
  • [24] Regular Property Guided Dynamic Symbolic Execution
    Zhang, Yufeng
    Chen, Zhenbang
    Wang, Ji
    Dong, Wei
    Liu, Zhiming
    2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 1, 2015, : 643 - 653
  • [25] Dynamic Symbolic Execution for Testing Distributed Objects
    Griesmayer, Andreas
    Aichernig, Bernhard
    Johnsen, Einar Broch
    Schlatte, Rudolf
    TESTS AND PROOFS, PROCEEDINGS, 2009, 5668 : 105 - 120
  • [26] DySy: Dynamic Symbolic Execution for Invariant Inference
    Csallner, Christoph
    Tillmann, Nikolai
    Smaragdakis, Yannis
    ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2008, : 281 - 290
  • [27] Constraints in Dynamic Symbolic Execution: Bitvectors or Integers?
    Kapus, Timotej
    Nowack, Martin
    Cadar, Cristian
    TESTS AND PROOFS (TAP 2019), 2019, 11823 : 41 - 54
  • [28] Infeasible path generalization in dynamic symbolic execution
    Delahaye, Mickael
    Botella, Bernard
    Gotlieb, Arnaud
    INFORMATION AND SOFTWARE TECHNOLOGY, 2015, 58 : 403 - 418
  • [29] Loop Transparency for Scalable Dynamic Symbolic Execution
    Ji, Xiaoli
    Zhang, Xiaosong
    Chen, Ting
    Li, Xiaoshan
    Jiang, Lei
    ADVANCES IN ENGINEERING DESIGN AND OPTIMIZATION III, PTS 1 AND 2, 2012, 201-202 : 242 - 245
  • [30] Dynamic Symbolic Execution of Distributed Concurrent Objects
    Griesmayer, Andreas
    Aichernig, Bernhard
    Johnsen, Einar Broch
    Schlatte, Rudolf
    FORMAL TECHNIQUES FOR DISTRIBUTED SYSTEMS, PROCEEDINGS, 2009, 5522 : 225 - 230