Project Details
Projekt Print View

Computergestützte Verifikation von Automatenkonstruktionen für Model Checking

Subject Area Theoretical Computer Science
Term from 2010 to 2019
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 183790222
 
Final Report Year 2019

Final Report Abstract

Modelchecker sind ein wichtiges Werkzeug in der Softwareverifikation. Sie können für geeignet modellierte System automatisch entscheiden, ob diese eine gegebene Spezifikation erfüllen. Durch ihren breiten Einsatz und das große Vertrauen, das in sie gesetzt wird, ist es besonders wichtig, dass die Modelchecker selbst korrekt sind. Im Rahmen des CAVA Projekts wurde hierzu ein LTL Model Checker mit Hilfe des Theorembeweisers Isabelle formal verifiziert. Ergebnis des Projekts ist damit hauptsächlich die Formalisierung des CAVA Modelcheckers. Dabei ist eine Formalisierung eine Sammlung von Definitionen, Algorithmen, und Beweisen, wobei letztere vom Theorembeweiser Isabelle maschinell auf Korrektheit überprüft werden. Aus dieser Formalisierung lässt sich schließlich ausführbarer Code erzeugen, sodass der daraus resultierende CAVA Modelchecker als verifizierte Referenzimplementierung dienen kann. Es wurde auch eine Formalisierung der Promela Sprache erstellt, was die Nutzbarkeit des CAVA Model Checkers deutlich verbessert. Die Formalisierung stellt außerdem eine Spezifikation der Promela Semantik dar, was bis dato nur informell als Teil des SPIN-Buchs erfolgt war. Weiterhin wurden einige weitere Algorithmen formalisiert, die im Zusammenhang mit Graphen, Automaten, und Modelchecking stehen. Besonders hervorzuheben sind hier die Halbordnungsreduktion für Modelchecking, sowie die Reduktion mittels Färbung für Büchi Automaten. In beiden Fällen wurden im Zuge der Formalisierungsanstrengungen Fehler in den Algorithmen bzw. deren Korrektheitsbeweisen gefunden. Dies wiederum belegt die Notwendigkeit solcher Unternehmungen.

Publications

 
 

Additional Information

Textvergrößerung und Kontrastanpassung