BLAST: Berkeley Lazy Abstraction Software Verification Tool

BLAST is a software model checker for C programs. The goal of BLAST is to be able to check that software satisfies behavioral properties of the interfaces it uses. BLAST uses counterexample-driven automatic abstraction refinement to construct an abstract model which is model checked for safety properties. The abstraction is constructed on-the-fly, and only to the required precision.

The first version of BLAST was developed at UC Berkeley by Ranjit Jhala, Rupak Majumdar, and Gregoire Sutre and was supported by the US National Science Foundation.

The BLAST 2.5 Team

BLAST Retired --- Replacement Released: CPAchecker

After many years of service, we do not actively maintain BLAST anymore.

However, there are still good news: BLAST got re-implemented in Java, integrating all the lessons we have learned from the BLAST project:

CPAchecker is a re-implementation of BLAST based on the framework of configurable program analysis and supports all essential features of BLAST and much more ...



Check out CPAchecker from: http://cpachecker.sosy-lab.org/

BLAST Documentation

Getting Started

Download and extract BLAST binaries and examples. To build BLAST from the sources, go to blast/ and run "make". Add the directory "blast/bin/" to your PATH environment variable. Go to "blast/test/" and run "./regrtest -block SHORT_REGRESS" to run the (small) examples in "blast/test". See the Tutorial Introduction section in the BLAST User's Manual to learn how to start with BLAST using the examples in "blast/test".

The model-checking algorithm of BLAST is best explained in Section 2 of our journal paper on BLAST.

BLAST Download

Experiments

People

BLAST Papers

BLAST-related Projects

SLAM - The Software, Languages, Analysis and Model checking project at Microsoft Research.

CIL: An Infrastructure for C Program Analysis and Transformation. - CIL (C Intermediate Language) is a high-level representation along with a set of tools that permit easy analysis and source-to-source transformation of C programs

MAGIC from CMU

ESC/Java - Compaq's Extended Static Checker for Java, a programming tool for finding errors in Java programs.

Meta-level Compilation - A project at Stanford to let programmers build tools that check, optimize, and transform code.

BLAST was part of The Open Source Quality Project (OSQ).

