Directed Symbolic Execution

被引:0
|
作者
Kin-Keung Ma [1 ]
Khoo Yit Phang [1 ]
Foster, Jeffrey S. [1 ]
Hicks, Michael [1 ]
机构
[1] Univ Maryland, Dept Comp Sci, College Pk, MD 20742 USA
来源
STATIC ANALYSIS | 2011年 / 6887卷
基金
美国国家科学基金会;
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In this paper, we study the problem of automatically finding program executions that reach a particular target line. This problem arises in many debugging scenarios; for example, a developer may want to confirm that a bug reported by a static analysis tool on a. particular line is a true positive. We propose two new directed symbolic execution strategies that aim to solve this problem: shortest-distance symbolic execution (SDSE) uses a distance metric in an interprocedural control flow graph to guide symbolic execution toward a particular target; and call-chain-backward symbolic execution (CCBSE) iteratively runs forward symbolic execution, starting in the function containing the target line, and then jumping backward up the call chain until it finds a feasible path from the start of the program. We also propose a hybrid strategy, Mix-CCBSE, which alternates CCBSE with another (forward) search strategy. We compare these three with several existing strategies from the literature on a suite of six GNU Coreutils programs. We find that SDSE performs extremely well in many cases but may fail badly. CCBSE also performs quite well, but imposes additional overhead that sometimes makes it slower than SDSE. Considering all our benchmarks together, Mix-CCBSE performed best on average, combining to good effect the features of its constituent components.
引用
收藏
页码:95 / 111
页数:17
相关论文
共 50 条
  • [1] Directed Incremental Symbolic Execution
    Person, Suzette
    Yang, Guowei
    Rungta, Neha
    Khurshid, Sarfraz
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (06) : 504 - 515
  • [2] Directed Incremental Symbolic Execution
    Person, Suzette
    Yang, Guowei
    Rungta, Neha
    Khurshid, Sarfraz
    [J]. PLDI 11: PROCEEDINGS OF THE 2011 ACM CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2011, : 504 - 515
  • [3] Directed Incremental Symbolic Execution
    Yang, Guowei
    Person, Suzette
    Rungta, Neha
    Khurshid, Sarfraz
    [J]. ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2014, 24 (01)
  • [4] Directed Symbolic Execution for VLSI Circuits
    Bhowmik, Biswajit
    Deka, Jatindra Kumar
    Biswas, Santosh
    [J]. 2015 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN, AND CYBERNETICS (SMC 2015): BIG DATA ANALYTICS FOR HUMAN-CENTRIC SYSTEMS, 2015, : 50 - 55
  • [5] Path Directed Symbolic Execution in the K Framework
    Asavoae, Irina Mariuca
    Asavoae, Mihail
    Lucanu, Dorel
    [J]. 12TH INTERNATIONAL SYMPOSIUM ON SYMBOLIC AND NUMERIC ALGORITHMS FOR SCIENTIFIC COMPUTING (SYNASC 2010), 2011, : 133 - 141
  • [6] Directed Symbolic Execution for Binary Vulnerability Mining
    Wu, Bo
    Li, Mengjun
    Zhang, Bin
    Zhang, Quan
    Tang, Chaojing
    [J]. 2014 IEEE WORKSHOP ON ELECTRONICS, COMPUTER AND APPLICATIONS, 2014, : 614 - 617
  • [7] Protocol Knowledge Combined Directed Symbolic Execution for Binary Programs
    Huang, Hui
    Lu, Yu-Liang
    Zhao, Jun
    Wu, Zhi-Yong
    [J]. 2013 THIRD INTERNATIONAL CONFERENCE ON INSTRUMENTATION & MEASUREMENT, COMPUTER, COMMUNICATION AND CONTROL (IMCCC), 2013, : 120 - 124
  • [8] Directed Dynamic Symbolic Execution for Static Analysis Warnings Confirmation
    Gerasimov, A. Yu
    [J]. PROGRAMMING AND COMPUTER SOFTWARE, 2018, 44 (05) : 316 - 323
  • [9] SIFT: A Tool for Property Directed Symbolic Execution of Multithreaded Software
    Yavuz, Tuba
    [J]. 2022 IEEE 15TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST 2022), 2022, : 433 - 443
  • [10] Directed Dynamic Symbolic Execution for Static Analysis Warnings Confirmation
    A. Yu. Gerasimov
    [J]. Programming and Computer Software, 2018, 44 : 316 - 323