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 条
  • [1] Type and Interval Aware Array Constraint Solving for Symbolic Execution
    Shuai, Ziqi
    Chen, Zhenbang
    Zhang, Yufeng
    Sun, Jun
    Wang, Ji
    ISSTA '21: PROCEEDINGS OF THE 30TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, 2021, : 361 - 373
  • [2] Constraint solving and symbolic execution
    Zhang, Jian
    VERIFIED SOFTWARE: THEORIES, TOOLS, EXPERIMENTS, 2008, 4171 : 539 - 544
  • [3] Unsatisfiable Core Based Constraint Solving Cache in Symbolic Execution
    Shuai, Ziqi
    Chen, Zhenbang
    Zhang, Yufeng
    Yu, Hengbiao
    Wang, Ji
    PROCEEDINGS OF THE 2023 30TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, APSEC 2023, 2023, : 661 - 662
  • [4] FloPSy - Search-Based Floating Point Constraint Solving for Symbolic Execution
    Lakhotia, Kiran
    Tillmann, Nikolai
    Harman, Mark
    de Halleux, Jonathan
    TESTING SOFTWARE AND SYSTEMS, 2010, 6435 : 142 - +
  • [5] Symbolic Execution of Complex Program Driven by Machine Learning Based Constraint Solving
    Li, Xin
    Liang, Yongjuan
    Qian, Hong
    Hu, Yi-Qi
    Bu, Lei
    Yu, Yang
    Chen, Xin
    Li, Xuandong
    2016 31ST IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2016, : 554 - 559
  • [6] Survey of Constraint Solving Techniques Research Progress in Symbolic Execution
    Zou Q.-C.
    Wu R.-P.
    Ma J.-X.
    Wang X.
    Xin W.
    Hou C.-Y.
    Li M.-C.
    Beijing Ligong Daxue Xuebao/Transaction of Beijing Institute of Technology, 2019, 39 (09): : 957 - 966
  • [8] Symbolic execution optimization method based on input constraint
    Wang S.
    Lin Y.
    Yang Q.
    Li M.
    Tongxin Xuebao/Journal on Communications, 2019, 40 (03): : 19 - 27
  • [9] Boosting Symbolic Execution via Constraint Solving Time Prediction (Experience Paper)
    Luo, Sicheng
    Xu, Hui
    Bi, Yanxiang
    Wang, Xin
    Zhou, Yangfan
    ISSTA '21: PROCEEDINGS OF THE 30TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, 2021, : 336 - 347
  • [10] Polychrony for refinement-based design
    Talpin, JP
    Le Guernic, P
    Shukla, SK
    Gupta, R
    Doucet, F
    DESIGN, AUTOMATION AND TEST IN EUROPE CONFERENCE AND EXHIBITION, PROCEEDINGS, 2003, : 1172 - 1173