Directed Diagnostics of System Dependability Models
Total Page:16
File Type:pdf, Size:1020Kb
Directed Diagnostics of System Dependability Models Husain Aljazzar Dissertation in partial fulfilment of the requirements for the degree of Doctor of Engineering Science (Dr. Ing.) { Doktor der Ingenieurwissenschaften { from the University of Konstanz Department of Computer and Information Science Supervisor: Prof. Dr. Stefan Leue University of Konstanz, Konstanz, Germany Reviewers: Prof. Dr. Marta Kwiatkowska University of Oxford, Oxford, United Kingdom Prof. Dr. Stefan Leue University of Konstanz, Konstanz, Germany Date of the oral examination: 3rd of November 2009 This work was partially supported by DFG Research Training Group GK-1042 \Explorative Analysis and Visualization of Large Information Spaces". I dedicate this work to my people under siege in the Gaza Strip and to those who have paid for the freedom of the Palestinian people with their lives, especially my uncle and best friend Mahmoud Khalil. Acknowledgements First, my thanks go to Stefan Leue for taking me as a student in his research group. Not only did I learn everything I know about verification and model checking, but he also gave me the opportunity to gain valuable experience and to develop an independent style of work. I also thank Marta Kwiatkowska for hosting me at her research group. This stay gave me a lot of inspiration. The discussions with Marta and her group members Dave Parker and Gethin Norman were inspirational and pushed me to develop. I am also indebted to Holger Hermanns, Ulrik Brandes and Joost-Pieter Katoen for their valuable advice. I would also like to thank my faithful colleagues Evghenia Stegantova, Matthias Kuntz and Florian Leitner-Fischer for their kind support. I particularly thank Wei Wei for the inspiring discussions and his constructive feedback. My thanks also go to the students Lorenz Meier, Diana Cerbu and Thomas Rauh whose implementations contributed to this work. Of course, I am deeply indebted to my parents Ibrahim Aljazzar and Mariam Khalil. Without their unlimited support and motivation I would never have reached this stage of my education and this work would never have been completed. Finally a very special thank you goes to my wife Sahar Aljamal for her infinite patience and understanding. Abstract Model checking, as a formal verification technique, aims primarily at proving the correctness of systems. Nevertheless, model checking has also been extensively used as a debugging technique to aid developers in locating and fixing errors when the model violates a desired property. Thus, the ability to provide diagnostic informa- tion, that facilitates debugging, dictates the usability of model checking techniques in practice. Counterexamples are the prime example of such diagnostic information. A counterexample is in general a piece of information which attests the property violation and which can be used for explaining the causal factors of the property violation. Stochastic model checking extends conventional model checking with the veri- fication of quantitative performance and dependability requirements. The core of stochastic model checkers is a set of efficient numerical algorithms which compute the probabilities that determine the satisfaction or violation of a given property. Due to the numerical nature of these algorithms, stochastic model checkers do not pro- vide counterexamples. Within our research in this field we succeeded in extending stochastic model checking to include the possibility of counterexample generation. We introduced the notion of counterexamples into stochastic model checking and devised the first methods for the generation and analysis of counterexamples. We begin this dissertation with an introduction into stochastic model check- ing followed by a study of counterexamples in stochastic model checking where we give a formal definition for counterexamples for common stochastic models. We also discuss the characteristics of informative counterexamples in this context and present a variety of novel methods for the generation of informative counterexam- ples. Our methods are based on heuristics-guided search algorithms, also called directed search algorithms. We investigate these methods in different settings and examine their advantages and disadvantages. We also investigate their applicability to models with real-life complexity. We present extensive experiments using signif- icant case studies. These experiments demonstrate the efficiency and scalability of our methods. They also show that the counterexamples produced by our methods are informative and useful for debugging. Counterexamples in stochastic model checking, as we will show in this disser- tation, are very complex. Thus, analysing them for the purpose of debugging is a very challenging task for human users. We propose the first method which aids engineers in analysing counterexample in stochastic model checking. Our method employs interactive visualisation techniques which aim at determining the causal factors of property violations. A significant contribution of our research on counterexample generation is the development of a novel directed search algorithm K∗ for solving the k-shortest- paths problem. This is the problem of finding k shortest paths form a start to a target node in a weighted directed graph for an arbitrary natural number k. The VIII k-shortest-paths problem is a general problem with a wide range of applications. K∗ scales to very large graphs compared to classical k-shortest-paths algorithms. We demonstrate the advantage of K∗ by applying it to route planning in the US road map. Kurzfassung Model-Checking ist ein formales Verifikationsverfahren, in dem das Hauptziel die Uberpr¨ ufung¨ der Korrektheit von Systemen bezuglich¨ gegebener Anforderungen ist. Daneben wird Model-Checking h¨aufig als ein Debugging-Werkzeug eingesetzt. Es wird zur Lokalisierung und Behebung von Fehlern verwendet, wenn das Modell eine gewunschte¨ Eigenschaft verletzt. Aus diesem Grund ist die M¨oglichkeit, diagnos- tische Informationen zu liefern, entscheidend fur¨ die praktische Anwendbarkeit von Model-Checking-Techniken. Gegenbeispiele sind ein wichtiger Vertreter fur¨ solche diagnostische Informationen. Ein Gegenbeispiel besteht in der Regel aus Informa- tionen uber¨ das Systemverhalten, welche die Eigenschaftsverletzung belegen und bei der Bestimmung der Ursache dieser Verletzung helfen. Stochastisches Model-Checking erweitert das konventionelle Model-Checking um die Verifikation quantitativer Leistungs- und Verl¨asslichkeitsanforderungen. Der Kern des stochastischen Model-Checking besteht aus einer Reihe numerischer Al- gorithmen. Diese Algorithmen berechnen die Wahrscheinlichkeitswerte, die uber¨ die Erfullung¨ der zu uberpr¨ ufenden¨ Anforderungen entscheiden. Aufgrund der numerischen Natur dieser Algorithmen liefern stochastische Model-Checker keine Gegenbeispiele. Diese Dissertation pr¨asentiert unsere Forschung zur L¨osung dieses Problems. Im Rahmen dieser Forschung ist es uns als erste gelungen, stochast- isches Model-Checking um die Generierung und Analyse von Gegenbeispielen zu erweitern. Wir haben das Konzept der Gegenbeispiele in das stochastische Model- Checking eingefuhrt¨ und die ersten Methoden zur Generierung und Analyse von Gegenbeispielen entwickelt. Wir beginnen diese Dissertation mit einer Einfuhrung¨ in das stochastische Model-Checking. Danach behandeln wir das Konzept von Gegenbeispielen in diesem Zusammenhang. Wir geben eine formale Definition von Gegenbeispielen bezuglich¨ g¨angiger stochastischer Modelle. Wir diskutieren anschließend die Aus- sagef¨ahigkeit von Gegenbeispielen bezuglich¨ Debugging und erl¨autern die Krite- rien von aussagef¨ahigen Gegenbeispielen. Danach pr¨asentieren wir eine Reihe von neuen Methoden zur Generierung von informativen Gegenbeispielen. Unsere Meth- oden basieren auf heuristischen, oder auch gerichteten, Suchalgorithmen. Wir un- tersuchen diese Methoden unter verschiedenen Bedingungen und betrachten deren Vor- und Nachteile. Wir untersuchen deren Anwendbarkeit in der Praxis fur¨ Modelle mit hoher Komplexit¨at. Wir demonstrieren die Effizienz und Skalierbarkeit unserer Methoden anhand von ausfuhrlichen¨ Experimenten mit realistischen Fallstudien. Diese Experimente zeigen auch, dass die erzeugten Gegenbeispiele informativ und nutzlich¨ bei der Fehlerbehebung sind. Wie wir in dieser Dissertation zeigen werden, sind Gegenbeispiele im stochast- ischen Model-Checking in der Regel sehr komplex. Infolgedessen stellt die Analyse solcher Gegenbeispiele zu Debugging-Zwecken eine große Herausforderung fur¨ die Benutzer dar. Wir haben eine Methode zur Unterstutzung¨ des Benutzers bei der X Analyse von Gegenbeispielen entwickelt. Diese Methode setzt interaktive Visual- isierungstechniken ein, um kausale Faktoren, die die Eigenschaftsverletzung verur- sacht haben, zu bestimmen. Ein wichtiger Beitrag unserer Forschung ist die Entwicklung eines neuen gerichteten Suchalgorithmus K∗ zur L¨osung des Problems der k-kurzesten-Pfade.¨ Das Problem der k-kurzesten-Pfade¨ ist ein allgemeines Problem mit vielen Anwen- dungsgebieten. Dabei handelt es sich um das Finden der k kurzesten¨ Pfade von einem Start- zu einem Zielknoten in einem gerichteten Graphen, wobei k eine be- liebige naturliche¨ Zahl ist. Im Gegensatz zu existierenden Algorithmen ist K∗ auch auf sehr große und komplexe Graphen effizient anwendbar. Wir demonstrieren die Uberlegenheit¨ von K∗ mit Hilfe von Experimenten im Bereich der Routenplanung im Straßennetz der USA. Contents 1 Introduction1 1.1 Motivation................................1 1.2 Contributions...............................3