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 条
  • [41] Dynamic symbolic execution approach based on tabu search
    Cai, Jun
    Zou, Peng
    Ma, Jinxin
    He, Jun
    Beijing Hangkong Hangtian Daxue Xuebao/Journal of Beijing University of Aeronautics and Astronautics, 2015, 41 (12): : 2348 - 2355
  • [42] Leveraging Abstract Interpretation for Efficient Dynamic Symbolic Execution
    Alatawi, Eman
    Sondergaard, Harald
    Miller, Tim
    PROCEEDINGS OF THE 2017 32ND IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE'17), 2017, : 619 - 624
  • [43] Symbolic Pathfinder for SV-COMP (Competition Contribution)
    Noller, Yannic
    Pasareanu, Corina S.
    Fromherz, Aymeric
    Le, Xuan-Bach D.
    Visser, Willem
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PT III, 2019, 11429 : 239 - 243
  • [44] Model Checking MSVL Programs Based on Dynamic Symbolic Execution
    Duan, Zhenhua
    Bu, Kangkang
    Tian, Cong
    Zhang, Nan
    COMPUTING AND COMBINATORICS, 2015, 9198 : 521 - 533
  • [45] Design and implementation of a dynamic symbolic execution tool for windows executables
    Chen, Ting
    Zhang, Xiao-song
    Zhu, Cong
    Ji, Xiao-li
    Guo, Shi-ze
    Wu, Yue
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2013, 25 (12) : 1249 - 1272
  • [46] Fitness-Guided Path Exploration in Dynamic Symbolic Execution
    Xie, Tao
    Tillmann, Nikolai
    de Halleux, Jonathan
    Schulte, Wolfram
    2009 IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS & NETWORKS (DSN 2009), 2009, : 359 - +
  • [47] DyTa: Dynamic Symbolic Execution Guided with Static Verification Results
    Ge, Xi
    Taneja, Kunal
    Xie, Tao
    Tillmann, Nikolai
    2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 992 - 994
  • [48] Directed Dynamic Symbolic Execution for Static Analysis Warnings Confirmation
    Gerasimov, A. Yu
    PROGRAMMING AND COMPUTER SOFTWARE, 2018, 44 (05) : 316 - 323
  • [49] Test Generation via Dynamic Symbolic Execution for Mutation Testing
    Zhang, Lingming
    Xie, Tao
    Zhang, Lu
    Tillmann, Nikolai
    de Halleux, Jonathan
    Mei, Hong
    2010 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, 2010,
  • [50] Guiding Dynamic Symbolic Execution toward Unverified Program Executions
    Christakis, Maria
    Mueller, Peter
    Wutholz, Valentin
    2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2016, : 144 - 155