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 条
  • [21] Optimization techniques for craig interpolant compaction in unbounded model checking
    Cabodi, Gianpiero
    Loiacono, Carmelo
    Vendraminetto, Danilo
    FORMAL METHODS IN SYSTEM DESIGN, 2015, 46 (02) : 135 - 162
  • [22] Modular model checking of software
    Laster, K
    Grumberg, O
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, 1998, 1384 : 20 - 35
  • [23] Advances in Software Model Checking
    Siddiqui, Junaid H.
    Rauf, Affan
    Ghafoor, Maryam A.
    ADVANCES IN COMPUTERS, VOL 108, 2018, 108 : 59 - 89
  • [24] Optimization techniques for Craig Interpolant compaction in Unbounded Model Checking
    Cabodi, G.
    Loiacono, C.
    Vendraminetto, D.
    DESIGN, AUTOMATION & TEST IN EUROPE, 2013, : 1417 - 1422
  • [25] Software model checking with SPIN
    Holzmann, GJ
    ADVANCES IN COMPUTERS, VOL 65, 2005, 65 : 77 - 108
  • [26] On Strings in Software Model Checking
    Hojjat, Hossein
    Rummer, Philipp
    Shamakhi, Ali
    PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2019, 2019, 11893 : 19 - 30
  • [27] Software Model Checking SystemC
    Cimatti, Alessandro
    Narasamdya, Iman
    Roveri, Marco
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2013, 32 (05) : 774 - 787
  • [28] Model checking: Software and beyond
    Clarke, Edmund M.
    Lerda, Flavio
    JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2007, 13 (05) : 639 - 649
  • [29] Model checking for software architectures
    Mateescu, R
    SOFTWARE ARCHITECTURE, 2004, 3047 : 219 - 224
  • [30] Software development: Knowledge vs. software code
    Lonski, T
    AM/FM INTERNATIONAL CONFERENCE XIX, PROCEEDINGS - THRIVING IN AN AGE OF COMPETITION, 1996, : 21 - 28