Abstract:
Abstraction and composition are the fundamental issues in making model checking
viable for software. This paper proposes new techniques for automating
abstraction and decomposition using source level type information provided by
the programmer. Our system includes two novel components to achieve this end: (1) a new behavioral type-and-effect system for
the Pi-calculus, which extracts sound models as types, and (2) a new
assume-guarantee proof rule for carrying out compositional model checking on the
types. Open simulation between CCS processes is used as both the subtyping
relation in the type system and the abstraction relation for compositional model
checking.
We have implemented these ideas in a tool---
homepage