×

Abstract interpretation of game properties. (English) Zbl 0966.68150

Palsberg, Jens (ed.), Static analysis. 7th internationales symposium, SAS 2000, Santa Barbara, CA, USA, June 29 - July 6, 2000. Proceedings. Berlin: Springer. Lect. Notes Comput. Sci. 1824, 220-239 (2000).
Summary: We apply the theory of abstract interpretation to the verification of game properties for reactive systems. Unlike properties expressed in standard temporal logics, game properties can distinguish adversarial from collaborative relationships between the processes of a concurrent program, or the components of a parallel system. We consider two-player concurrent games – say, component vs. environment – and specify properties of such games – say, the component has a winning strategy to obtain a resource, no matter how the environment behaves – in the alternating-time \(\mu\)-calculus \((A\mu)\). A sound abstraction of such a game must at the same time restrict the behaviors of the component and increase the behaviors of the environment: if a less powerful component can win against a more powerful environment, then surely the original component can win against the original environment.
We formalize the concrete semantics of a concurrent game in terms of controllable and uncontrollable predecessor predicates, which suffice for model checking all \(A\mu\) properties by applying Boolean operations and iteration. We then define the abstract semantics of a concurrent game in terms of abstractions for the controllable and uncontrollable predecessor predicates. This allows us to give general characterizations for the soundness and completeness of abstract games with respect to \(A\mu\) properties. We also present a simple programming language for multi-process programs, and show how approximations of the maximal abstraction (w.r.t. \(A\mu\) properties) can be obtained from the program text. We apply the theory to two practical verification examples, a communication protocol developed at the Berkeley Wireless Research Center, and a protocol converter. In the wireless protocol, both the use of a game property for specification and the use of abstraction for automatic verification were instrumental to uncover a subtle bug.
For the entire collection see [Zbl 0941.00028].

MSC:

68Q85 Models and methods for concurrent and distributed computing (process algebras, bisimulation, transition nets, etc.)
03B70 Logic in computer science
68N30 Mathematical aspects of software engineering (specification, verification, metrics, requirements, etc.)