An Improved Offline Symbolic Execution Approach

被引:1
|
作者
Liu, Xiaolong [1 ]
Wu, Zehui [1 ]
Wei, Qiang [1 ]
机构
[1] State Key Lab Math Engn & Adv Comp, Zhengzhou 450002, Henan, Peoples R China
来源
PROCEEDINGS OF 2018 THE 2ND INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND ARTIFICIAL INTELLIGENCE (CSAI 2018) / 2018 THE 10TH INTERNATIONAL CONFERENCE ON INFORMATION AND MULTIMEDIA TECHNOLOGY (ICIMT 2018) | 2018年
关键词
offline symbolic execution; constraint; visualize; distributed pipeline; coverage; vulnerabilities;
D O I
10.1145/3297156.3297276
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
The offline symbolic execution technique generates a trace file by actually executing the program, and then the path constraint of a branch in the trace file is flipped and solved to generate a new sample. Since the offline symbolic execution technique analyzes only one path at a time, it occupies less memory resources. However, when the program has many branches, the offline symbolic execution technique has a problem of low execution efficiency. This paper proposes a visualized and distributed offline symbolic execution approach (VDO), which mainly improves the efficiency of offline symbolic execution technique from three aspects. Firstly, VDO only flips the branches of the specified range, so that it can reduce the flipping of branches with low test value and improve the pertinence of the test. Second, VDO uses the sample sequence number as the color value in the global control flow graph to visualize the branch that have been traversed, so that it can find the input sample corresponding to each branch, and can preferentially select those branches that have not been traversed for flipping. Finally, VDO disassembles the offline symbolic execution process into three phases, and builds a distributed pipeline based on the finite state machine to further increase efficiency. In order to evaluate VDO, we implemented this approach based on the BAP platform. The results of testing coreutils and the LAVA-M dataset showed that coverage increased by an average of more than 13%, and the total number of discovered vulnerabilities increased by 15 compared to the original BAP platform.
引用
收藏
页码:314 / 320
页数:7
相关论文
共 50 条
  • [1] SYMBOLIC EXECUTION - A SEMANTIC APPROACH
    KNEUPER, R
    SCIENCE OF COMPUTER PROGRAMMING, 1991, 16 (03) : 207 - 249
  • [2] A generic framework for symbolic execution: A coinductive approach
    Lucanu, Dorel
    Rusu, Vlad
    Arusoaie, Andrei
    JOURNAL OF SYMBOLIC COMPUTATION, 2017, 80 : 125 - 163
  • [3] Symbolic Execution - An efficient approach for test case generation
    Vengadeswaran, S.
    Geetha, K.
    2013 INTERNATIONAL CONFERENCE ON RECENT TRENDS IN INFORMATION TECHNOLOGY (ICRTIT), 2013, : 575 - 581
  • [4] Dynamic symbolic execution approach based on tabu search
    Cai, Jun
    Zou, Peng
    Ma, Jinxin
    He, Jun
    Beijing Hangkong Hangtian Daxue Xuebao/Journal of Beijing University of Aeronautics and Astronautics, 2015, 41 (12): : 2348 - 2355
  • [5] Symbolic Types for Lenient Symbolic Execution
    Chang, Stephen
    Knauth, Alex
    Torlak, Emina
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
  • [6] Neuro-Symbolic Execution: Augmenting Symbolic Execution with Neural Constraints
    Shiqi, Shen
    Shinde, Shweta
    Ramesh, Soundarya
    Roychoudhury, Abhik
    Saxena, Prateek
    26TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2019), 2019,
  • [7] BLISS: Improved Symbolic Execution by Bounded Lazy Initialization with SAT Support
    Rosner, Nicolas
    Geldenhuys, Jaco
    Aguirre, Nazareno M.
    Visser, Willem
    Frias, Marcelo F.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2015, 41 (07) : 639 - 660
  • [8] A synergistic approach to improving symbolic execution using test ranges
    Yang, Guowei
    Qiu, Rui
    Khurshid, Sarfraz
    Pasareanu, Corina S.
    Wen, Junye
    INNOVATIONS IN SYSTEMS AND SOFTWARE ENGINEERING, 2019, 15 (3-4) : 325 - 342
  • [9] A synergistic approach to improving symbolic execution using test ranges
    Guowei Yang
    Rui Qiu
    Sarfraz Khurshid
    Corina S. Păsăreanu
    Junye Wen
    Innovations in Systems and Software Engineering, 2019, 15 : 325 - 342
  • [10] An Approach for Safe and Secure Software Protection Supported by Symbolic Execution
    Dorfmeister, Daniel
    Ferrarotti, Flavio
    Fischer, Bernhard
    Haslinger, Evelyn
    Ramler, Rudolf
    Zimmermann, Markus
    DATABASE AND EXPERT SYSTEMS APPLICATIONS - DEXA 2023 WORKSHOPS, 2023, 1872 : 67 - 78