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 条
  • [31] Directed Dynamic Symbolic Execution for Static Analysis Warnings Confirmation
    Gerasimov, A. Yu
    PROGRAMMING AND COMPUTER SOFTWARE, 2018, 44 (05) : 316 - 323
  • [32] 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,
  • [33] 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
  • [34] Dynamic Symbolic Execution of Java']Java Programs Using JNI
    Vartanov, Sergey
    2017 ELEVENTH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES (CSIT), 2017, : 83 - 86
  • [35] Directed Dynamic Symbolic Execution for Static Analysis Warnings Confirmation
    A. Yu. Gerasimov
    Programming and Computer Software, 2018, 44 : 316 - 323
  • [36] State of the art: Dynamic symbolic execution for automated test generation
    Chen, Ting
    Zhang, Xiao-song
    Guo, Shi-ze
    Li, Hong-yuan
    Wu, Yue
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2013, 29 (07): : 1758 - 1773
  • [37] Efficient Data-Race Detection with Dynamic Symbolic Execution
    Ibing, Andreas
    PROCEEDINGS OF THE 2016 FEDERATED CONFERENCE ON COMPUTER SCIENCE AND INFORMATION SYSTEMS (FEDCSIS), 2016, 8 : 1719 - 1726
  • [38] Path Reduction of Multiple Test Points in Dynamic Symbolic Execution
    Lu, Jiawen
    Cai, Lizhi
    Zhang, Yang
    2017 16TH IEEE/ACIS INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION SCIENCE (ICIS 2017), 2017, : 857 - 863
  • [39] Enhancing Dynamic Symbolic Execution by Automatically Learning Search Heuristics
    Cha, Sooyoung
    Hong, Seongjoon
    Bak, Jiseong
    Kim, Jingyoung
    Lee, Junhee
    Oh, Hakjoo
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (09) : 3640 - 3663
  • [40] Exploring Loose Coupling of Slicing with Dynamic Symbolic Execution on the JVM
    Mues, Malte
    Rueschoff, Julian
    Ben Hermann
    TESTS AND PROOFS, TAP 2024, 2025, 15153 : 168 - 175