Invariant Generation for Parametrized Systems using Self-Reflection
SAS 2012: International Static Analysis Symposium
Extended Version: Technical Report CU-CS-1094-12


We examine the problem of inferring invariants for parametrized systems. Parametrized systems are concurrent systems consisting of an a priori unbounded number of process instances running the same program. Such systems are commonly encountered in many situations including device drivers, distributed systems, and robotic swarms. In this paper we describe a technique that enables leveraging off-the-shelf invariant generators designed for sequential programs to infer invariants of parametrized systems. The central challenge in invariant inference for parametrized systems is that näıvely exploding the transition system with all interleavings is not just impractical but impossible. In our approach, the key enabler is the notion of a reflective abstraction that we prove has an important correspondence with inductive invariants. This correspondence naturally gives rise to an iterative invariant generation procedure that alternates between computing candidate invariants and creating reflective abstractions.


@string{SAS = "International Static Analysis Symposium (SAS)"}
  author = {Alejandro Sánchez and Sriram Sankaranarayanan and César Sánchez and Bor-Yuh Evan Chang},
  title = {Invariant Generation for Parametrized Systems using Self-Reflection},
  booktitle = SAS,
  year = {2012},
  pages = {146-163},