Subsequence Invariants

  • Authors:
  • Klaus Dräger;Bernd Finkbeiner

  • Affiliations:
  • Universität des Saarlandes, Fachrichtung Informatik, Saarbrücken, Germany 66123;Universität des Saarlandes, Fachrichtung Informatik, Saarbrücken, Germany 66123

  • Venue:
  • CONCUR '08 Proceedings of the 19th international conference on Concurrency Theory
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce subsequence invariants, which characterize the behavior of a concurrent system in terms of the occurrences of synchronization events. Unlike state invariants, which refer to the state variables of the system, subsequence invariants are defined over auxiliary counter variables that reflect how often the event sequences from a given set have occurred so far. A subsequence invariant is a linear constraint over the possible counter values. We allow every occurrence of a subsequence to be interleaved arbitrarily with other events. As a result, subsequence invariants are preserved when a given process is composed with additional processes. Subsequence invariants can therefore be computed individually for each process and then be used to reason about the full system. We present an efficient algorithm for the synthesis of subsequence invariants. Our construction can be applied incrementally to obtain a growing set of invariants given a growing set of event sequences.