Algorithms for model-checking flat counter systems
Institution:
Paris 7Disciplines:
Directors:
Abstract EN:
Automated systems have become a part and parcel of our daily life with increasingly more of our daily activities being controlled or dependent on one or more automated systems. These systems being increasingly sophisticated and complicated, a relevant question to ask is about the reliability of such systems. Formai verification provides us with a better way to show reliability of such system compared to simulation or manual testing due to large number of possible scenarios that can occur during the execution of the system. One of the ways to perform formai verification of automated system is by model-checking. It consists of developing algorithm to check whether a suitably expressive model, representing the executions of the automated system satisfies a specification or not. For expressing the specification we use specific logics suitable in expressing the specification. With increasing expressiveness of model, model-checking problem quickly approaches undecidability even for simple properties like whether the system can reach a bad state or not. In the thesis, we deal with models called "Flat Counter Systems" which can be seen as programs manipulating integer variables (also called counters) whose control structure is restricted. Regarding the logic for specifications, we extend traditional temporal logic (like LTL, FO, CTL etc. ) with the ability to express properties on the values of the counters during the execution. This results in specifications that can state more expressive properties. We provide, for each class of specifications, algorithms with optimal complexity for solving the problem of model-checking flat counter systems. Our approach is based on a more general methodology and thus allows reuse of the results for other specifications.
Abstract FR:
Les systèmes automatisés font désormais partie intégrante de notre vie quotidienne et une grande partie de nos activités dépendent de leur bon fonctionnement. Ces systèmes devenant de plus en plus sophistiqués et complexes, démontrer leur bon fonctionnement s'avère être une tâche ardue. Parmi les approches permettant de garantir la fiabilité de ces systèmes, les méthodes de vérification formelles consistent en une meilleure alternative que la simulation ou le test qui doivent prendre en compte un nombre toujours plus important de possibles scénarios qui peuvent se produire lors de l'exécution du système. La méthode par model-checking est une des techniques développés pour la vérification formelle de systèmes. Elle consiste à proposer des algorithmes permettant de vérifier si un modèle représentant les exécutions possibles du système vérifie une spécification donnée sous la forme de formules logiques. Un des problèmes du model-checking vient du fait que lorsque les modèles sont trop expressifs, les problème de vérification deviennent indécidables, il est alors impossible de proposer des algorithmes et ce même pour des propriétés spécifiant des comportement très simple comme la non-accessibilité d'un état d'erreur. Dans cette thèse, nous nous intéressons au problème du model-checking pour le modèle des systèmes à compteurs plats qui peu- vent être vus comme des programmes manipulant un nombre fini de variables entières (appelées aussi compteurs) et dont la structure de contrôle est restreinte. En ce qui concerne les logiques pour les spécifications, nous prenons en compte les logiques temporelles traditionnelles (comme LTL, FO, CTL, etc) tout en les étendant afin d'exprimer également des propriétés sur la valeur prise par les compteurs lors des exécutions. Nous obtenons ainsi des spécifications plus expressives. Nous fournissons, pour chaque classe de spécifications, des algorithmes avec une complexité optimale permettant de résoudre le problème du model-checking des systèmes à compteurs plats. Notre ap- proche se base de plus sur une méthodologie générale autorisant ainsi une possible réutilisation des résultats pour d'autres spécifications.