Deconstructing Dynamic Symbolic Execution

被引:18
|
作者
Ball, Thomas [1 ]
Daniel, Jakub [2 ]
机构
[1] Microsoft Res, Redmond, WA 98052 USA
[2] Charles Univ Prague, Prague, Czech Republic
关键词
Symbolic Execution; Automatic Test Generation; White-box Testing; Automated Theorem Provers;
D O I
10.3233/978-1-61499-495-4-26
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Dynamic symbolic execution (DSE) is a well-known technique for automatically generating tests to achieve higher levels of coverage in a program. Two keys ideas of DSE are to: (1) seed symbolic execution by executing a program on an initial input; (2) use concrete values from the program execution in place of symbolic expressions whenever symbolic reasoning is hard or not desired. We describe DSE for a simple core language and then present a minimalist implementation of DSE for Python (in Python) that follows this basic recipe. The code is available at https://www.github.com/thomasjball/PyExZ3/(tagged "v1.0") and has been designed to make it easy to experiment with and extend.
引用
收藏
页码:26 / 41
页数:16
相关论文
共 50 条
  • [1] Augmented Dynamic Symbolic Execution
    Jamrozik, Konrad
    Fraser, Gordon
    Tillmann, Nikolai
    de Halleux, Jonathan
    2012 PROCEEDINGS OF THE 27TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2012, : 254 - 257
  • [2] Dynamic Symbolic Execution for Polymorphism
    Li, Lian
    Lu, Yi
    Xue, Jingling
    CC'17: PROCEEDINGS OF THE 26TH INTERNATIONAL CONFERENCE ON COMPILER CONSTRUCTION, 2017, : 120 - 130
  • [3] TracerX: Dynamic symbolic execution with interpolation
    Jaffar, Joxan
    Maghareh, Rasool
    Godboley, Sangharatna
    Ha, Xuan-Linh
    arXiv, 2020,
  • [4] Dynamic Path Pruning in Symbolic Execution
    Chen, Ying-Shen
    Chen, Wei-Ning
    Wu, Che-Yu
    Hsiao, Hsu-Chun
    Huang, Shih-Kun
    2018 IEEE CONFERENCE ON DEPENDABLE AND SECURE COMPUTING (DSC), 2018, : 123 - 130
  • [5] 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
  • [6] 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
  • [7] 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
  • [8] Dynamic Symbolic Execution for Testing Distributed Objects
    Griesmayer, Andreas
    Aichernig, Bernhard
    Johnsen, Einar Broch
    Schlatte, Rudolf
    TESTS AND PROOFS, PROCEEDINGS, 2009, 5668 : 105 - 120
  • [9] 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
  • [10] Constraints in Dynamic Symbolic Execution: Bitvectors or Integers?
    Kapus, Timotej
    Nowack, Martin
    Cadar, Cristian
    TESTS AND PROOFS (TAP 2019), 2019, 11823 : 41 - 54