Craig vs. Newton in Software Model Checking

被引:10
|
作者
Dietsch, Daniel [1 ]
Heizmann, Matthias [1 ]
Musa, Betim [1 ]
Nutz, Alexander [1 ]
Podelski, Andreas [1 ]
机构
[1] Univ Freiberg, Freiburg, Germany
关键词
Formal Verification; Craig Interpolation; Unsatisfiable Cores;
D O I
10.1145/3106237.3106307
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Ever since the seminal work on SLAM and BLAST, software model checking with counterexample-guided abstraction refinement (CEGAR) has been an active topic of research. The crucial procedure here is to analyze a sequence of program statements (the counterexample) to find building blocks for the overall proof of the program. We can distinguish two approaches (which we name Craig and Newton) to implement the procedure. The historically first approach, Newton (named after the tool Newton from the SLAM toolkit), is based on symbolic execution. The second approach, Craig, is based on Craig interpolation. It was widely believed that Craig is substantially more effective than Newton. In fact, 12 out of the 15 CEGAR-based tools in SV-COMP are based on Craig. Advances in software model checkers based on Craig, however, can go only lockstep with advances in SMT solvers with Craig interpolation. It may be time to revisit Newton and ask whether Newton can be as effective as Craig. We have implemented a total of 11 variants of Craig and Newton in two different state-of-the-art software model checking tools and present the outcome of our experimental comparison.
引用
收藏
页码:487 / 497
页数:11
相关论文
共 50 条
  • [31] Software caching vs. prefetching
    Aggarwal, A
    ACM SIGPLAN NOTICES, 2003, 38 (02) : 263 - 268
  • [32] Global vs. local model checking: A comparison of verification techniques for infinite state systems
    Schuele, T
    Schneider, K
    PROCEEDINGS OF THE SECOND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND FORMAL METHODS, 2004, : 67 - 76
  • [33] Symbolic model checking for linear hybrid systems base on craig interpolation
    Chen, Zu-Xi
    Xu, Zhong-Wei
    Huo, Wei-Wei
    Yu, Gang
    Tien Tzu Hsueh Pao/Acta Electronica Sinica, 2014, 42 (07): : 1338 - 1346
  • [34] Platforms for software execution: Databases vs. operating systems vs. browsers
    Selby, R
    PROCEEDINGS OF THE 1997 INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 1997, : 578 - 578
  • [36] Using software model checking for software component certification
    Taleghani, Ali
    29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: ICSE 2007 COMPANION VOLUME, PROCEEDINGS, 2007, : 99 - 100
  • [37] Encoding Techniques, Craig Interpolants and Bounded Model Checking for Incomplete Designs
    Miller, Christian
    Kupferschmid, Stefan
    Lewis, Matthew
    Becker, Bernd
    THEORY AND APPLICATIONS OF SATISFIABILITY TESTING - SAT 2010, PROCEEDINGS, 2010, 6175 : 194 - 208
  • [38] Software model checking for resources race
    Hong Wang
    Tao Zhang
    Cluster Computing, 2017, 20 : 179 - 193
  • [39] Software model checking with abstraction refinement
    Podelski, A
    VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, 2003, 2575 : 1 - 3
  • [40] Parallel Assignments in Software Model Checking
    Stokely, Murray
    Chaki, Sagar
    Ouaknine, Joel
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 157 (01) : 77 - 94