- Daniel Kroening
- Boolean Programs
- SMT Lists/Sets/Maps
- Google groups:
- SMT 2010
Predicate Abstaction using SAT
About SATABS
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 of the original program in order to handle large amounts of code. The Boolean program is then passed to a Model Checker. Predicate abstraction is best suited for lightweight properties such as array bounds (buffer overflows), pointer safety, exceptions and control-flow oriented user-specified assertions.
SATABS is built in collaboration with Natasha Sharygina. For questions about SATABS, contact Daniel Kroening. You should also read the license.
NEW: There is now a Google Group for annoucements related to SATABS.
Version 2.4 for x86 Linux and Windows released.
Updated manual available.
Documentation
From a user's point of view, the SATABS manual gives a tutorial and describes what properties are checked.
We also provide papers that describe how SATABS works.
- Model Checking Concurrent Linux Device Drivers
- SATABS: SAT-based Predicate Abstraction for ANSI-C
- Predicate Abstraction of ANSI-C Programs using SAT
- Verification of SpecC and Verilog using Predicate Abstraction
- Checking Consistency of C and Verilog using Predicate Abstraction and Induction
Doina Bucur has built an instrumentor to check programs written for TinyOS.
We currently only distribute binaries for x86 Linux and Windows.
| ||||||
SATABS Screenshots
This research is currently supported by EPSRC grant EP/G026254/1.


