Dependence Guided Symbolic Execution

被引:35
|
作者
Wang, Haijun [1 ]
Liu, Ting [1 ]
Guan, Xiaohong [1 ]
Shen, Chao [1 ]
Zheng, Qinghua [1 ]
Yang, Zijiang [1 ,2 ]
机构
[1] Xi An Jiao Tong Univ, Minist Educ, Key Lab Intelligent Networks & Network Secur MOEK, Sch Elect & Informat Engn, Xian 710049, Peoples R China
[2] Western Michigan Univ, Dept Comp Sci, Kalamazoo, MI 49008 USA
基金
美国国家科学基金会; 中国国家自然科学基金;
关键词
Symbolic execution; path coverage; program dependence; MUTATION;
D O I
10.1109/TSE.2016.2584063
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Symbolic execution is a powerful technique for systematically exploring the paths of a program and generating the corresponding test inputs. However, its practical usage is often limited by the path explosion problem, that is, the number of explored paths usually grows exponentially with the increase of program size. In this paper, we argue that for the purpose of fault detection it is not necessary to systematically explore the paths, and propose a new symbolic execution approach to mitigate the path explosion problem by predicting and eliminating the redundant paths based on symbolic value. Our approach can achieve the equivalent fault detection capability as traditional symbolic execution without exhaustive path exploration. In addition, we develop a practical implementation called Dependence Guided Symbolic Execution (DGSE) to soundly approximate our approach. Through exploiting program dependence, DGSE can predict and eliminate the redundant paths at a reasonable computational cost. Our empirical study shows that the redundant paths are abundant and widespread in a program. Compared with traditional symbolic execution, DGSE only explores 6.96 to 96.57 percent of the paths and achieves a speedup of 1.02 x to 49.56 x. We have released our tool and the benchmarks used to evaluate DGSE.
引用
收藏
页码:252 / 271
页数:20
相关论文
共 50 条
  • [1] Reinforcement Learning Guided Symbolic Execution
    Wu, Jie
    Zhang, Chengyu
    Pu, Geguang
    [J]. PROCEEDINGS OF THE 2020 IEEE 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER '20), 2020, : 662 - 663
  • [2] Summary-Guided Incremental Symbolic Execution
    Yi, Qiuping
    Wen, Junye
    Yang, Guowei
    [J]. 2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2020), 2020, : 310 - 311
  • [3] Assertion Guided Symbolic Execution of Multithreaded Programs
    Guo, Shengjian
    Kusano, Markus
    Wang, Chao
    Yang, Zijiang
    Gupta, Aarti
    [J]. 2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, : 854 - 865
  • [4] Regular Property Guided Dynamic Symbolic Execution
    Zhang, Yufeng
    Chen, Zhenbang
    Wang, Ji
    Dong, Wei
    Liu, Zhiming
    [J]. 2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 1, 2015, : 643 - 653
  • [5] HOE: HOT-GUIDED SYMBOLIC EXECUTION
    Yang, Jun
    Cheng, Shaoyin
    Jiang, Fan
    Luo, Peijie
    [J]. FIFTH INTERNATIONAL CONFERENCE ON ADVANCED COMPUTER THEORY AND ENGINEERING (ICACTE 2012), 2012, : 887 - 894
  • [6] DyTa: Dynamic Symbolic Execution Guided with Static Verification Results
    Ge, Xi
    Taneja, Kunal
    Xie, Tao
    Tillmann, Nikolai
    [J]. 2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 992 - 994
  • [7] Fitness-Guided Path Exploration in Dynamic Symbolic Execution
    Xie, Tao
    Tillmann, Nikolai
    de Halleux, Jonathan
    Schulte, Wolfram
    [J]. 2009 IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS & NETWORKS (DSN 2009), 2009, : 359 - +
  • [8] Detecting Hardware Trojans using Model Guided Symbolic Execution
    Dai, Ruochen
    Yavuz, Tuba
    [J]. PROCEEDING OF THE GREAT LAKES SYMPOSIUM ON VLSI 2024, GLSVLSI 2024, 2024, : 569 - 573
  • [9] Reinforcement Learning Guided Symbolic Execution for Ethereum Smart Contracts
    Wang, Meng
    Fei, Weiliang
    Wang, Miao
    Cui, Jin
    [J]. PROCEEDINGS OF THE 2023 30TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, APSEC 2023, 2023, : 91 - 100
  • [10] Guided Symbolic Execution in Real-World Binary Program
    Park, Sung Hyun
    Noh, Bong Nam
    [J]. INFORMATION SCIENCE AND APPLICATIONS, 2020, 621 : 387 - 396