Reasoning about specifications in model checking

Abstract

Eine der praktisch erfolgreichsten formalen Verifikationstechniken ist Model Checking, ein Ansatz um logische Eigenschaften endlicher Zustandssysteme algorithmisch zu verifizieren.Auf Eingabe eines Systemmodells in Form eines endlichen Zustandsübergangsgraphen und einer in einer Temporallogik formulierten Spezifikation, stellt ein Model Checker automatisch fest, ob das Modell die Spezifikation erfüllt. In dieser Dissertation werden verschiedene Ansätze zum Analysieren von Spezifikationen im Allgemeinen und temporallogischen Spezifikationen im Speziellen untersucht. Durch derartige Methoden können zusätzliche Informationen gewonnen werden, um zu entscheiden, ob das zu untersuchende System seine Anforderungen erfüllt. Insbesondere werden die folgenden Fragen behandelt: (i) Was kann über die Zusammensetzung zweier Teilsysteme, die ihre jeweiligen Spezifikationen erfüllen, ausgesagt werden? Diese Frage ist besonders dann von Bedeutung, wenn ein zusammengesetztes System zu groß ist um als Ganzes untersucht zu werden. Der Schwerpunkt der vorliegenden Arbeit liegt bei Systemen deren Komponenten zirkulär voneinander abhängen. In diesem Kontext wird eine abstrakte zirkuläre Schnittregel und eine abstrakte zirkuläre kompositionelle Schlussregel präsentiert.(ii) Wie kann eine unvollständige temporallogische Spezifikation effizient vervollständigt werden, so dass sie von einem gegebenen Modell erfüllt wird? Derartige unvollständige Spezifikationen werden temporallogische Queries genannt. Der Schwerpunkt der vorliegenden Arbeit liegt bei Queries mit einer einzigen stärksten Lösung. Unter anderem werden syntaktische Fragmente solcher Queries und effiziente Lösungsalgorithmen präsentiert.(iii) Wenn ein gegebenes Modell seine Spezifikation erfüllt, erfolgt dies auf die intendierte Art? Die Beantwortung dieser Frage ist in der Literatur bekannt unter dem Namen Vacuity Detection. Sie ist praktisch von großer Bedeutung, da vacuous (d.h., auf triviale Weise) erfüllte Spezifikationen oft auf ein Problem im Systemdesign oder der Spezifikation hinweisen. In der vorliegenden Arbeit wird der klassische Vacuity-Begriff durch eine Parametrisierung verallgemeinert, die es ermöglicht ein Problem zu lösen, auf das von Amir Pnueli hingewiesen wurde.One of the practically most successful formal verification techniques is model checking, an approach for algorithmically verifying logical properties of finite state systems. Given a system model in the form of a finite state transition graph and a specification expressed in some temporal logic, a model checker automatically determines whether the model satisfies the specification. In this thesis, we investigate several approaches in order to reason about specifications in general and temporal logic specifications in particular. By such reasoning methods, it is possible to obtain additional information to support verification and validation engineers in their task to decide whether the system under consideration satisfies its requirements. In particular, we are interested in three main questions:(i) Given the specifications satisfied by two systems, what can we say about the system obtained by composing these systems? This question is of great importance for composed systems that are too large to be handled at once. Our focus lies in systems whose components depend on each other in a circular manner. In this context, we present an abstract circular cut and an abstract circular compositional reasoning rule.(ii) Given a system model and an incomplete temporal logic specification, how can the given specification be efficiently completed such that it is satisfied by the model? Incomplete specifications of this kind are called temporal logic queries. Our focus lies in queries with single strongest solutions. Among other things, we present syntactic fragments of such queries and efficient algorithms for solving them.(iii) Given a system model that satisfies its specifications, does the model satisfy the specification in the intended way? In the literature, deciding this question is well known under the name vacuity detection.It is of great importance in practice, since vacuously (i.e., due to a trivial reason) satisfied specifications often point to a real problem in either the system design or the specification. We generalize the classical notion of vacuity by a parameterization, which enables us to solve a problem posed by Amir Pnueli.21

    Similar works

    Full text

    thumbnail-image

    Available Versions