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 条
  • [31] Sydr: Cutting Edge Dynamic Symbolic Execution
    Vishnyakov, Alexey
    Fedotov, Andrey
    Kuts, Daniil
    Novikov, Alexander
    Parygina, Darya
    Kobrin, Eli
    Logunova, Vlada
    Belecky, Pavel
    Kurmangaleev, Shamil
    2020 IVANNIKOV ISPRAS OPEN CONFERENCE (ISPRAS 2020), 2020, : 46 - 54
  • [32] A Survey of Search Strategies in the Dynamic Symbolic Execution
    Liu, Yu
    Zhou, Xu
    Gong, Wei-Wei
    4TH ANNUAL INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY AND APPLICATIONS (ITA 2017), 2017, 12
  • [33] Using dynamic symbolic execution to improve deductive verification
    Vanoverberghe, Dries
    Bjorner, Nikolaj
    de Halleux, Jonathan
    Schulte, Wolfram
    Tillmann, Nikolai
    MODEL CHECKING SOFTWARE, PROCEEDINGS, 2008, 5156 : 9 - 25
  • [34] Dynamic Symbolic Execution Tool for Python']Python Programs
    Ding, Xuefeng
    Huang, Wanyu
    Liu, Ying
    Chen Wantao
    Ding Xuyang
    2016 INTERNATIONAL CONFERENCE ON INTELLIGENT TRANSPORTATION, BIG DATA & SMART CITY (ICITBS), 2017, : 212 - 217
  • [35] A Systematic Review of Search Strategies in Dynamic Symbolic Execution
    Sabbaghi, Arash
    Keyvanpour, Mohammad Reza
    COMPUTER STANDARDS & INTERFACES, 2020, 72
  • [36] A Late Treatment of C Precondition in Dynamic Symbolic Execution
    Delahaye, Mickaeel
    Kosmatov, Nikolai
    IEEE SIXTH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS (ICSTW 2013), 2013, : 230 - +
  • [37] Employing Dynamic Symbolic Execution for Equivalent Mutant Detection
    Ghiduk, Ahmed S.
    Girgis, Moheb R.
    Shehata, Marwa H.
    IEEE ACCESS, 2019, 7 : 163767 - 163777
  • [38] Constraint Programming for Dynamic Symbolic Execution of Java']JavaScript
    Amadini, Roberto
    Andrlon, Mak
    Gange, Graeme
    Schachte, Peter
    Sondergaard, Harald
    Stuckey, Peter J.
    INTEGRATION OF CONSTRAINT PROGRAMMING, ARTIFICIAL INTELLIGENCE, AND OPERATIONS RESEARCH, CPAIOR 2019, 2019, 11494 : 1 - 19
  • [39] KROVER: A Symbolic Execution Engine for Dynamic Kernel Analysis
    Pitigalaarachchi, Pansilu
    Ding, Xuhua
    Qiu, Haiqing
    Tu, Haoxin
    Hong, Jiaqi
    Jiang, Lingxiao
    PROCEEDINGS OF THE 2023 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, CCS 2023, 2023, : 2009 - 2023
  • [40] Using Metamorphic Testing to Improve Dynamic Symbolic Execution
    Alatawi, Eman
    Miller, Tim
    Sondergaard, Harald
    2015 24TH AUSTRALASIAN SOFTWARE ENGINEERING CONFERENCE (ASWEC 2015), 2015, : 38 - 47