SATABS Predicate Abstaction using SAT

About SATABS

SATABS is a verification tool for ANSI-C and C++ programs. SATABS trans­forms 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 ab­strac­tion is best suited for lightweight properties such as array bounds (buffer over­flows), pointer safety, exceptions and control-flow oriented user-specified assertions.

SATABS is built in collaboration with Natasha Sharygina. For questions about SATABS, con­tact Daniel Kroening. You should also read the license.

SATABS News

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 pro­perties are checked.

We also provide papers that describe how SATABS works.

Doina Bucur has built an instrumentor to check programs written for TinyOS.

 

Download

We currently only distribute binaries for x86 Linux and Windows.

x86 Windows x86 Linux
  • SATABS: satabs-2-4-win.zip
    Unzip the archive before running.

  • Important: You need CL (comes with Microsoft Visual Studio) in your PATH for preprocessing. If you don't have Visual Studio, download Visual Studio Express (free!).

  • SATABS: satabs-2-4-linux.tgz
    Do tar xfz satabs-2-4-linux.tgz before running.

  • Of course, it's assumed that you have gcc/g++ and the usual header files and libraries installed.

SATABS Screenshots

   
Click to enlarge.

Funding

This research is currently supported by EPSRC grant EP/G026254/1.