ScholarGate
Assistent

Modellprüfung für Software

Die Modellprüfung verifiziert automatisch, ob das Modell eines Systems eine temporale Logikspezifikation erfüllt, indem sie dessen erreichbare Zustände erschöpfend untersucht.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

Modellprüfung ist eine automatische Verifikationstechnik, die, gegeben ein endliches Zustandsmodell eines Systems und eine temporale Logikspezifikation, erschöpfend prüft, ob die Spezifikation erfüllt ist, und einen Gegenbeispiel-Trace erzeugt, falls dies nicht der Fall ist.

Scope

Dieses Thema umfasst die automatische Verifikation von endlichen Zustands- und nebenläufigen Systemen hinsichtlich temporal-logischer Eigenschaften (Sicherheit und Lebendigkeit), das Zustandsraumexplosionsproblem und Techniken zu dessen Bekämpfung (symbolische Darstellung mit binären Entscheidungsdiagrammen, Partial-Order-Reduktion, Abstraktion), begrenzte Modellprüfung mit SAT/SMT und Counterexample-Guided Abstraction Refinement für Software.

Core questions

  • Wie kann eine Eigenschaft durch die Untersuchung aller erreichbaren Zustände verifiziert werden?
  • Was ist das Zustandsraumexplosionsproblem und wie wird es gemildert?
  • Wie skalieren symbolische und begrenzte Methoden die Modellprüfung?
  • Wie werden Software-Systeme mit unendlichem Zustand in endliche Modelle abstrahiert?

Key theories

Temporale Logik-Modellprüfung
Clarke, Emerson und Sistla sowie unabhängig davon Queille und Sifakis führten Algorithmen ein, um endliche Zustands- und nebenläufige Systeme automatisch anhand temporaler Logikspezifikationen zu prüfen.
Symbolische Modellprüfung
Burch und Kollegen stellten Zustandsmengen symbolisch mit binären Entscheidungsdiagrammen dar, was die Verifikation von Systemen mit astronomisch vielen Zuständen ermöglichte und die naive Zustandsraumexplosion überwand.

Clinical relevance

Modellprüfung wird zur Verifikation von Hardware-Designs, Kommunikationsprotokollen sowie nebenläufiger und sicherheitskritischer Software eingesetzt, wo sie subtile Fehler findet, die beim Testen übersehen werden, und Gegenbeispiele liefert, die Fehler genau lokalisieren. Ihre Automatisierung unterscheidet sie vom interaktiven Theorembeweisen.

History

Aufbauend auf Pnuelis Einführung der temporalen Logik für Programme entwickelten Clarke und Emerson sowie unabhängig davon Queille und Sifakis um 1981-82 die Modellprüfung, eine Arbeit, die später mit einem Turing Award ausgezeichnet wurde. Die symbolische Modellprüfung mit binären Entscheidungsdiagrammen (1990er Jahre) und die SAT-basierte begrenzte Modellprüfung erweiterten ihre Reichweite erheblich, und Abstraktions-Verfeinerungsmethoden brachten sie in die Softwareentwicklung.

Debates

Bekämpfung der Zustandsraumexplosion
Die zentrale Herausforderung besteht darin, dass die Anzahl der Zustände exponentiell mit der Systemgröße wächst; Forscher diskutieren die beste Mischung aus symbolischer Darstellung, Abstraktion, Partial-Order-Reduktion und begrenzter Prüfung, um die Verifikation handhabbar zu halten.

Key figures

  • Edmund Clarke
  • E. Allen Emerson
  • Joseph Sifakis
  • Kenneth McMillan
  • Amir Pnueli

Related topics

Seminal works

  • clarke1986
  • queille1982
  • burch1992

Frequently asked questions

Wie unterscheidet sich die Modellprüfung vom Theorembeweisen?
Die Modellprüfung ist vollautomatisch und untersucht den Zustandsraum eines Systems erschöpfend für endliche oder abstrahierte Modelle, während das Theorembeweisen logische Deduktion (oft interaktiv) verwendet und unendliche Zustands-Systeme behandeln kann, aber mehr menschliche Anleitung erfordert.
Was ist das Zustandsraumexplosionsproblem?
Es ist das exponentielle Wachstum der Anzahl erreichbarer Zustände, wenn ein System Komponenten oder Variablen hinzugewinnt, was die naive Modellprüfung begrenzt und symbolische, begrenzte und abstraktionsbasierte Techniken motiviert.

Methods for this concept

Related concepts