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 条
  • [21] SYMBOLIC EXECUTION AND TESTING
    COWARD, PD
    INFORMATION AND SOFTWARE TECHNOLOGY, 1991, 33 (01) : 53 - 64
  • [22] Symbolic execution with abstraction
    Anand S.
    Pǎsǎreanu C.S.
    Visser W.
    International Journal on Software Tools for Technology Transfer, 2009, 11 (01) : 53 - 67
  • [23] Advances in Symbolic Execution
    Yang, Guowei
    Filieri, Antonio
    Borges, Mateus
    Clun, Donato
    Wen, Junye
    ADVANCES IN COMPUTERS, VOL 113, 2019, 113 : 225 - 287
  • [24] Symbolic PathFinder: Symbolic execution of Java bytecode
    NASA Ames Research Center, Moffett Field, CA 94035, United States
    ASE - Proc. IEEE/ACM Int. Conf. Autom. Softw. Eng., (179-180):
  • [25] An approach to solving non-linear real constraints for symbolic execution
    Amiri-Chimeh, Saeed
    Haghighi, Hassan
    JOURNAL OF SYSTEMS AND SOFTWARE, 2019, 157
  • [26] The Method for Parallel Approach to Sensitive Point Based on Dynamic Symbolic Execution
    Cao, Yan
    Wei, Qiang
    Wang, Qingxian
    PROCEEDINGS OF THE 2012 EIGHTH INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND SECURITY (CIS 2012), 2012, : 661 - 665
  • [27] The Symbolic Execution Debugger (SED): a platform for interactive symbolic execution, debugging, verification and more
    Martin Hentschel
    Richard Bubel
    Reiner Hähnle
    International Journal on Software Tools for Technology Transfer, 2019, 21 : 485 - 513
  • [28] Verification of Safety Functions Implemented in Rust - a Symbolic Execution based approach
    Lindner, Marcus
    Fitinghoff, Nils
    Eriksson, Johan
    Lindgren, Per
    2019 IEEE 17TH INTERNATIONAL CONFERENCE ON INDUSTRIAL INFORMATICS (INDIN), 2019, : 432 - 439
  • [29] The Symbolic Execution Debugger (SED): a platform for interactive symbolic execution, debugging, verification and more
    Hentschel, Martin
    Bubel, Richard
    Haehnle, Reiner
    INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2019, 21 (05) : 485 - 513
  • [30] A symbolic execution semantics for TopHat
    Naus, Nico
    Steenvoorden, Tim
    Klinik, Markus
    PROCEEDINGS OF THE 31ST SYMPOSIUM ON IMPLEMENTATION AND APPLICATION OF FUNCTIONAL LANGUAGES, IFL 2019, 2019,