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 条
  • [42] Software Model Checking Takes Off
    Miller, Steven P.
    Whalen, Michael W.
    Cofer, Daren D.
    COMMUNICATIONS OF THE ACM, 2010, 53 (02) : 58 - 64
  • [43] Software testing via model checking
    Belli, F
    Güldali, B
    COMPUTER AND INFORMATION SCIENCES - ISCIS 2004, PROCEEDINGS, 2004, 3280 : 907 - 916
  • [44] Software model checking for resources race
    Wang, Hong
    Zhang, Tao
    CLUSTER COMPUTING-THE JOURNAL OF NETWORKS SOFTWARE TOOLS AND APPLICATIONS, 2017, 20 (01): : 179 - 193
  • [45] Software Model Checking: The VeriSoft Approach
    Patrice Godefroid
    Formal Methods in System Design, 2005, 26 : 77 - 101
  • [46] Model checking large software specifications
    Chan, W
    Anderson, RJ
    Beame, P
    Burns, S
    Modugno, F
    Notkin, D
    Reese, JD
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1998, 24 (07) : 498 - 520
  • [47] Distributed and Predictable Software Model Checking
    Lopes, Nuno P.
    Rybalchenko, Andrey
    VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, 2011, 6538 : 340 - +
  • [48] Translating software designs for model checking
    Xie, F
    Levin, V
    Kurshan, RR
    Browne, JC
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, PROCEEDINGS, 2004, 2984 : 324 - 338
  • [49] SOFTWARE MODEL CHECKING FOR AVIONICS SYSTEMS
    Cofer, Darren
    Whalen, Michael
    Miller, Steven
    DASC: 2008 IEEE/AIAA 27TH DIGITAL AVIONICS SYSTEMS CONFERENCE, VOLS 1 AND 2, 2008, : 1209 - 1216
  • [50] Executable Counterexamples in Software Model Checking
    Gennari, Jeffrey
    Gurfinkel, Arie
    Kahsai, Temesghen
    Navas, Jorge A.
    Schwartz, Edward J.
    VERIFIED SOFTWARE: THEORIES, TOOLS, AND EXPERIMENTS, (VSTTE 2018), 2018, 11294 : 17 - 37