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
关键词
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] A Detecting Method of Array Bounds Defects Based on Symbolic Execution
    Shan, Chun
    Sun, Shiyou
    Xue, Jingfeng
    Hu, Changzhen
    Zhu, Hongjin
    NETWORK AND SYSTEM SECURITY, 2017, 10394 : 373 - 385
  • [22] Accelerating Array Constraints in Symbolic Execution
    Perry, David M.
    Mattavelli, Andrea
    Zhang, Xiangyu
    Cadar, Cristian
    PROCEEDINGS OF THE 26TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS (ISSTA'17), 2017, : 68 - 78
  • [23] Refinement-based verification of implementations of Stateflow charts
    Miyazawa, Alvaro
    Cavalcanti, Ana
    FORMAL ASPECTS OF COMPUTING, 2014, 26 (02) : 367 - 405
  • [24] Revisiting Snapshot Algorithms by Refinement-based Techniques
    Andriamiarina, Manamiary Bruno
    Mery, Dominique
    Singh, Neeraj Kumar
    COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2014, 11 (01) : 251 - 270
  • [25] Refinement-based semantics of parallel procedures
    Klaudel, H
    Riemann, RC
    INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-V, PROCEEDINGS, 1999, : 1810 - 1816
  • [26] Refinement-Based Verification of Communicating Unstructured Code
    Jaehnig, Nils
    Goethel, Thomas
    Glesner, Sabine
    SOFTWARE ENGINEERING AND FORMAL METHODS: 14TH INTERNATIONAL CONFERENCE, SEFM 2016, 2016, 9763 : 61 - 75
  • [27] Refinement-based modeling of the ErbB signaling pathway
    Iancu, Bogdan
    Sanwal, Usman
    Gratie, Cristian
    Petre, Ion
    COMPUTERS IN BIOLOGY AND MEDICINE, 2019, 106 : 91 - 96
  • [28] Revisiting Snapshot Algorithms by Refinement-based Techniques
    Andriamiarina, Manamiary Bruno
    Mery, Dominique
    Singh, Neeraj Kumar
    2012 13TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED COMPUTING, APPLICATIONS, AND TECHNOLOGIES (PDCAT 2012), 2012, : 343 - 349
  • [29] A refinement-based process algebra for timed automata
    Cattani, S
    Kwiatkowska, M
    FORMAL ASPECTS OF COMPUTING, 2005, 17 (02) : 138 - 159
  • [30] Refinement-based formal verification with heterogeneous timing
    Xiaohua Kong
    Radu Negulescu
    Larry Weidong Ying
    International Journal on Software Tools for Technology Transfer, 2003, 4 (3) : 359 - 370