Book Chapter10.1007/978-3-642-36742-7_16
Analysis of boolean programs
Patrice Godefroid,Mihalis Yannakakis +1 more
- 16 Mar 2013
- pp 214-229
TL;DR: This paper aims to provide a comprehensive study of the worst-case complexity of several basic analyses of Boolean programs, including reachability analysis, cycle detection, LTL, CTL, and CTL* model checking.
read more
Abstract: Boolean programs are a popular abstract domain for static-analysis-based software model checking. Yet little is known about the complexity of model checking for this model of computation. This paper aims to fill this void by providing a comprehensive study of the worst-case complexity of several basic analyses of Boolean programs, including reachability analysis, cycle detection, LTL, CTL, and CTL* model checking. We present algorithms for these problems and show that our algorithms are all optimal by providing matching lower bounds. We also identify particular classes of Boolean programs which are easier to analyse, and compare our results to prior work on pushdown model checking.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Journal Article
YASM : A software model-checker for verification and refutation
TL;DR: This paper presents Yasm: a (yet another) software model-checker based on the Counter-Example Guided Abstraction Refinement (CEGAR) framework, which seems unreasonable: why introduce spurious behaviour and make it more difficult to find a real bug?
38
Network Verification in the Light of Program Verification
Nuno P. Lopes,Nikolaj Bjørner,Patrice Godefroid,George Varghese +3 more
- 30 Sep 2013
TL;DR: This paper examines whether network reachability can be solved efficiently using existing verification tools and presents Datalog with a new composite Filter-Project operator and a Difference of Cubes representation as an alternative.
Decidable verification of uninterpreted programs
Umang Mathur,P. Madhusudan,Mahesh Viswanathan +2 more
- 02 Jan 2019
TL;DR: The problem of decidable verification of uninterpreted programs is undecidable in general as mentioned in this paper, and decidability of programs with recursive function calls is shown to be decidable in Pspace.
14
On recursion-free Horn clauses and Craig interpolation
Philipp Rümmer,Hossein Hojjat,Viktor Kuncak +2 more
- 01 Aug 2015
TL;DR: A new notion of interpolation is introduced, disjunctive interpolation, which solves a more general class of problems in one step compared to previous notions of interpolant, such as tree interpolants or inductive sequences of interpolants.
13
A Model Checker for Operator Precedence Languages
Michele Chiari,Dino Mandrioli,Francesco Pontiggia,Matteo Pradella +3 more
TL;DR: A model checker, named POMC, is produced for OPL programs to prove properties expressed in Precedence Oriented Temporal Logic, which is the first implemented and openly available modelChecker for proving tree-structured properties of recursive procedural programs.
3
References
Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic
Edmund M. Clarke,E. Allen Emerson +1 more
- 01 May 1981
TL;DR: It is shown that it is possible to automatically synthesize the synchronization skeleton of a concurrent program from a Temporal Logic specification and it is believed that this approach may in the long run turn out to be quite practical.
2.6K
Guarded commands, nondeterminacy and formal derivation of programs
TL;DR: So-called “guarded commands” are introduced as a building block for alternative and repetitive constructs that allow nondeterministic program components for which at least the activity evoked, but possibly even the final state, is not necessarily uniquely determined by the initial state.
Design and synthesis of synchronization skeletons using branching time temporal logic
Edmund M. Clarke,E. Allen Emerson +1 more
- 01 Jan 2008
TL;DR: In this article, the synchronization skeleton of a program is synthesized from a high-level Temporal Logic specification, which is an abstraction of the actual program where detail irrelevant to synchronization is suppressed.
1.4K
Extended static checking for Java
Cormac Flanagan,K. Rustan M. Leino,Mark Lillibridge,Greg Nelson,James B. Saxe,Raymie Stata +5 more
- 17 May 2002
TL;DR: The Extended Static Checker for Java (ESC/Java) is introduced, an experimental compile-time program checker that finds common programming errors and provides programmers with a simple annotation language with which programmer design decisions can be expressed formally.
Lazy abstraction
Thomas A. Henzinger,Ranjit Jhala,Rupak Majumdar,Grégoire Sutre +3 more
- 01 Jan 2002
TL;DR: This work presents an algorithm for model checking safety properties using lazy abstraction and describes an implementation of the algorithm applied to C programs and provides sufficient conditions for the termination of the method.
1.3K
Related Papers (5)
Chandrasekhar Boyapati,Michael Roberson +1 more
- 01 Jan 2011
Alessandro Armando,Claudio Castellini,Jacopo Mantovani +2 more
- 08 Nov 2004
Kurt Jensen,Andreas Podelski +1 more
- 01 Jan 2004