Optimal Refinement-based Array Constraint Solving for Symbolic Execution

被引:0
作者
Liu, Meixi [1 ,2 ]
Shuai, Ziqi [1 ,2 ]
Liu, Luyao [1 ]
Ma, Kelin [1 ]
Ma, Ke [1 ]
机构
[1] Natl Univ Def Technol, Coll Comp, Changsha, Peoples R China
[2] Natl Univ Def Technol, State Key Lab High Performance Comp, Changsha, Peoples R China
来源
2022 29TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, APSEC | 2022年
关键词
symbolic execution; constraint solving; array SMT theory; machine learning; BIT-VECTORS;
D O I
10.1109/APSEC57359.2022.00042
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Array constraint solving is widely adopted by the existing symbolic execution engines for encoding programs precisely. The counterexample-guided abstraction refinement (CEGAR) based method is state-of-the-art for array constraint solving. However, we observed that the CEGAR-based method may need many refinements to solve the array constraints produced by the symbolic executor, which decreases the performance of constraint solving. Based on the observation, we propose a machine learning-based method to improve the efficiency of the CEGAR-based array constraint solving. Our method adaptively turns on or off the CEGAR loop according to different solving problems. We have implemented our method on the symbolic executor KLEE and its underlying CEGAR-based constraint solver STP. We have conducted an extensive experiment on 55 real-world programs. On average, our method increases the number of explored paths by 21%. The results of the extensive experiments on real-world C programs show the effectiveness of our method.
引用
收藏
页码:299 / 308
页数:10
相关论文
共 50 条
  • [21] Pinaka: Symbolic Execution Meets Incremental Solving (Competition Contribution)
    Chaudhary, Eti
    Joshi, Saurabh
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PT III, 2019, 11429 : 234 - 238
  • [22] Symbolic execution based on language transformation
    Arusoaie, Andrei
    Lucanu, Dorel
    Rusu, Vlad
    COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2015, 44 : 48 - 71
  • [23] CSEFuzz: Fuzz Testing Based on Symbolic Execution
    Xie, Zhangwei
    Cui, Zhanqi
    Zhang, Jiaming
    Liu, Xiulei
    Zheng, Liwei
    IEEE ACCESS, 2020, 8 : 187564 - 187574
  • [24] Achieve Fuzzing Based on Symbolic Execution Platform
    He Hao
    Gan Shuitao
    PROCEEDINGS OF THE 2015 JOINT INTERNATIONAL MECHANICAL, ELECTRONIC AND INFORMATION TECHNOLOGY CONFERENCE (JIMET 2015), 2015, 10 : 991 - 993
  • [25] Hybrid Testing Based on Symbolic Execution and Fuzzing
    Xie X.-F.
    Li X.-H.
    Chen X.
    Meng G.-Z.
    Liu Y.
    Ruan Jian Xue Bao/Journal of Software, 2019, 30 (10): : 3071 - 3089
  • [26] Checking Sequence Generation for Symbolic Input/Output FSMs by Constraint Solving
    Timo, Omer Nguena
    Petrenko, Alexandre
    Ramesh, S.
    THEORETICAL ASPECTS OF COMPUTING - ICTAC 2018, 2018, 11187 : 354 - 375
  • [27] ATGen: automatic test data generation using constraint logic programming and symbolic execution
    Meudec, C
    SOFTWARE TESTING VERIFICATION & RELIABILITY, 2001, 11 (02) : 81 - 96
  • [28] Adding Constraint Building Mechanisms to a Symbolic Execution Engine Developed for Detecting Runtime Errors
    Kadar, Istvan
    Hegedus, Peter
    Ferenc, Rudolf
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2015, PT V, 2015, 9159 : 20 - 35
  • [29] A test data generation method based on the symbolic execution of the dangerous path
    Meng Yongdang
    PROCEEDINGS OF THE 2016 3RD INTERNATIONAL CONFERENCE ON MATERIALS ENGINEERING, MANUFACTURING TECHNOLOGY AND CONTROL, 2016, 67 : 536 - 540
  • [30] An Automatic Exploit Generation Method Based on Symbolic Execution
    Fang Hao
    Fen-Wenbo
    Fu-Menglin
    2018 EIGHTH INTERNATIONAL CONFERENCE ON INSTRUMENTATION AND MEASUREMENT, COMPUTER, COMMUNICATION AND CONTROL (IMCCC 2018), 2018, : 437 - 440