Predicate Abstraction With Adjustable-Block Encoding
Several successful software model checkers are based on a technique called Single-Block Encoding (SBE), which computes costly predicate abstractions after every single program operation. Large-Block Encoding (LBE) computes abstractions only after a large number of operations, and it was shown that this significantly improves the verification performance. In this paper, the authors present Adjustable-Block Encoding (ABE), a unifying framework that allows to express both previous approaches. In addition, it provides the flexibility to specify any block size between SBE and LBE, and also beyond LBE, through the adjustment of one single parameter. Such a unification of different concepts makes it easier to understand the fundamental properties of the analysis, and makes the differences of the variants more explicit.