cprover.org
EBMC: The Enhanced Bounded Model Checker
http://www.cprover.org/ebmc
Book on Decision Procedures. EBMC is a Model Checker for hardware designs. It includes both bounded and unbounded analysis, i.e., it can both discover bugs and is also able to prove the absence of bugs. It can read Netlists (ISCAS89 format), Verilog, System Verilog and SMV files. Properties can be given in LTL or a fragment of System Verilog Assertions. The unwound circuits can be exported as DIMACS CNF (bit-level) or in the SMT-LIB 1 or 2 format (word-level). Bounded Model Checking (BMC). We currently o...
cprover.org
SMT-LIB Format for Finite Lists, Sets, and Maps
http://www.cprover.org/SMT-LIB-LSM
Book on Decision Procedures. Finite Lists, Sets, and Maps. Sets, lists, and maps are elementary data structures used in most programs. Program analysis tools therefore need to decide verification conditions containing variables of such types. We propose a new theory for the SMT-Lib standard as the standard format for such formulae. A document formalizing the theory (PDF). A formalization of the concrete syntax. For the upcoming SMT-LIB version 2. A converter (below) from SMT-LIB 2 to SMT-LIB 1. That we...
cprover.org
The CBMC Homepage
http://www.cprover.org/cbmc
Book on Decision Procedures. Is a Bounded Model Checker for C and C programs. It supports C89, C99, most of C11 and most compiler extensions provided by gcc and Visual Studio. It also supports SystemC. We have recently added experimental support for Java Bytecode. Is aimed for embedded software, it also supports dynamic memory allocation using. Is available for most flavours of Linux (pre-packaged on Debian, Ubuntu and Fedora), Solaris 11, Windows and MacOS X. You should also read the CBMC license. Behav...
cprover.org
Boolean Programs
http://www.cprover.org/boolean-programs
Book on Decision Procedures. Result from applying predicate abstraction. To general software. All variables are of type Boolean, and track truth values of predicates over (possibly unbounded) variables of the original program P. To enable sound verification of reachability properties, Boolean programs are constructed by over-approximating the behavior of P. This may add spurious. Gérard Basler: gerard.basler. Example of a Boolean program. A tutorial how to generate Boolean programs is here:. Lexer (f...
cprover.org
SCOOT
http://www.cprover.org/scoot
Book on Decision Procedures. A Tool for the Static Analysis of SystemC. Statically analyses systems described using SystemC. And extracts models that can be passed to verification tools such as SatAbs. After extraction, it also offers the possibility to re-synthesize C code that does not rely on the SystemC library and that can be compiled with g to produce a very fast simulator. Produces then a simulator for the systematic exploration of the behaviors of the system. Download the latest tarball of.
cprover.org
SATABS – Predicate Abstraction using SAT
http://www.cprover.org/satabs
Book on Decision Procedures. Predicate Abstraction using SAT. SATABS is a verification tool for ANSI-C and C programs. SATABS transforms a C/C program into a Boolean program. Which is an abstraction. Contributors to SATABS include Alastair Donaldson. For questions about SATABS, contact Daniel Kroening. You should also read the license. New: Version 3.2 for x86 Linux released. New: see a video. Of Alastair presenting the use of symmetry in SATABS. There is now a Google Group. You need CL (comes with Mic...
cprover.org
Software Verification
http://www.cprover.org/software
Book on Decision Procedures. Our Software Verification Tools. A distinguishing feature of our software verification tools is accurate modeling of low-level artefacts, such as bit-vector semantics, memory models, and interfaces to hardware. Our tools can check automatically generated properties such as array bounds (buffer overflows) and pointer safety, but also user-specified assertions. The typical application for our tools is the validation of embedded software. Read our survey paper.
cprover.org
Hardware Verification
http://www.cprover.org/hardware
Book on Decision Procedures. Our Hardware Verification Tools. We specialize in high-level hardware verification, that is, verification at the word-level or for transaction level modeling (TLM). Our Model Checking tools accept synthesizable Verilog or SystemC as input. Predicate abstraction for Verilog:. An enhanced Bounded Model Checker:. Formal analysis for SystemC: Scoot. Our benchmark collection for VCEGAR. We also have a collection of sequential equivalence checking.
cprover.org
Wolverine
http://www.cprover.org/wolverine
Book on Decision Procedures. Is an interpolation-based software verification tool for ANSI-C and C programs and aims at computing Hoare-style correctness proofs for software programs. The tool is an implementation of the lazy abstraction with interpolants. Supports checking of reachability properties such as. Arithmetic underflow and overflow. Reachability of user-specified program locations. An API for third-party decision procedures. The architecture and the installation of Wolverine. Universal binary ...