La lecture à portée de main
Découvre YouScribe en t'inscrivant gratuitement
Je m'inscrisDécouvre YouScribe en t'inscrivant gratuitement
Je m'inscrisDescription
Informations
Publié par | Thesee |
Nombre de lectures | 21 |
Langue | English |
Poids de l'ouvrage | 1 Mo |
Extrait
AVERTISSEMENT
Ce document est le fruit d'un long travail approuvé par le
jury de soutenance et mis à disposition de l'ensemble de la
communauté universitaire élargie.
Il est soumis à la propriété intellectuelle de l'auteur. Ceci
implique une obligation de citation et de référencement lors
de l’utilisation de ce document.
Toute contrefaçon, plagiat, reproduction illicite encourt une
poursuite pénale.
➢ Contact SCD Nancy 1 : theses.sciences@scd.uhp-nancy.fr
LIENS
Code de la Propriété Intellectuelle. articles L 122. 4
Code de la Propriété Intellectuelle. articles L 335.2- L 335.10
http://www.cfcopies.com/V2/leg/leg_droi.php
http://www.culture.gouv.fr/culture/infos-pratiques/droits/protection.htm `UNIVERSITADEGLISTUDIDIMILANO
`FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI
Dipartimento di Scienze dell’Informazione
DOTTORATO DI RICERCA IN INFORMATICA
XX CICLO
Settore scientifico-disciplinare INF/01
Combination Methods
for Software Verification
Tesi di Dottorato di Ricerca di:
Daniele Zucchelli
Relatori:
Prof. Silvio Ghilardi
¨Dr. Michael Rusinowitch
Correlatore:
Dr. Silvio Ranise
Coordinatore del Dottorato:
Prof. Vincenzo Piuri
ANNO ACCADEMICO 2006/2007´D´epartement de formation doctorale en informatique Ecole doctorale IAEM Lorraine
UFR STMIA
M´ethodes de Combinaison
pour la V´erification de Logiciels
`THESE
pr´esent´ee et soutenue publiquement le 22 janvier 2008
pour l’obtention du
Doctorat de l’universit´e Henri Poincar´e – Nancy 1
(sp´ecialit´e informatique)
par
Daniele Zucchelli
Composition du jury
Pr´esident : Didier Galmiche
Rapporteurs : Alessandro Armando Professeur `a l’Universit´e de Genova, Italie
Ahmed Bouajjani Professeur a` l’Universit´e Paris 7, France
Alessandro Cimatti Chercheur a` l’ITC, Italie
Andreas Herzig Directeur de Recherche au CNRS, France
Examinateurs : Didier Galmiche Professeur `a l’Universit´e Henri Poincar´e, France
Directeurs : Silvio Ghilardi Professeur `a l’Universit´e de Milano, Italie
Silvio Ranise Charg´e de Recherche a` l’INRIA Lorraine, France
Micha¨el Rusinowitch Directeur de Recherche a` l’INRIA Lorraine, France
Laboratoire Lorrain de Recherche en Informatique et ses Applications — UMR 7503Abstract
The thesis is devoted to the development of formal methods for software verification.
Indeed, two are among the most widespread techniques that allow to rigorously specify the
possible executions of a system and check whether it contains bugs. On the one hand, the
correctness of a program can be guaranteed by showing the unsatisfiability of a formula
modulo a theory which usually axiomatizes the involved datatypes; on the other hand, the
model checking techniques are used to certify that every possible run of the system satisfies
the desired properties. The contributions of the thesis are the following: First of all, we
give a decidability result for the constraint satisfiability problem for interesting extensions
of the theory of arrays. Secondly, along the lines of Manna and Pnueli, who have shown
how a mixture of first-order logic and linear time temporal logic is sufficient to state the
verificationproblemsfortheclassofreactivesystems,wedrawontherecentliteratureabout
the combination of decision procedures to give decidability and undecidability results for
the satisfiability problem for logics that allow to plug reasoning modulo first-order theories
into a temporal setting. The results obtained in the case of linear flows of time are then
generalized to the temporal and modal logics whose relativized satisfiability problem is
decidable. The last contribution is the decidability of the model checking problem for linear
flows of time under suitable hypothesis over the first-order theories involved. The proofs of
the decidabilityresults suggestthat efficient Satisfiability Modulo Theoriessolversmight be
successfully employed in the model checking of infinite-state systems.
Keywords: Combination Methods, Model Checking, Decision Procedures.
R´esum´e
Cette th`ese est consacr´ee au d´eveloppement de m´ethodes formelles pour la v´erification
de logiciels. Parmi les techniques les plus utilis´ees dans ce contexte, il y en a deux qui
permettent une sp´ecification rigoureuse de toutes les ex´ecutions possibles d’un syst`eme et
le contrˆole des bogues cach´es. D’un cˆot´e, la correction d’un programme peut ˆetre garantie
en d´emontrant l’insatisfiabilit´e d’une formule modulo une th´eorie qui axiomatise les types
de donn´ees impliqu´es; de l’autre coˆt´e, les techniques de model-checking sont utilis´ees pour
certifier que toute ex´ecution possible du syst`eme satisfait les propri´et´esd´esir´ees.Les contri-
butions de cette th`ese sont les suivantes. Dans un premier temps, nous donnons un r´esultat
de d´ecidabilit´e pour la satisfiabilit´e de contraintes pour des extensions int´eressantes de la
th´eories des tableaux. Ensuite, nous avons obtenu des r´esultats dans le prolongement de
Manna et Pnueli qui ont montr´e qu’un m´elange de la logique du premier ordre et de la
logique temporelle lin´eaire suffit pour ´enoncer les probl`emes de v´erification pour la classe
des syst`emes r´eactifs. Ainsi, nous nous inspirons de la r´ecente litt´erature sur la combinai-
son des proc´edures de d´ecision pour ´etablir des r´esultats de d´ecidabilit´e et d’ind´ecidabilit´e
pour le probl`eme de satisfiabilit´e pour des logiques permettant d’int´egrer du raisonnement
modulo des th´eories du premier ordre dans un cadre temporel. Les r´esultats qu’on obtient
pour la logiques temporelle lin´eaire sont ensuite g´en´eralis´es au cas ou` le flux temporel est
d´ecrit par une logique dont le probl`eme de la satisfiabilit´e relativis´ee est d´ecidable. Notre
derni`ere contribution est la d´ecidabilit´e du probl`eme du model-checking pour le flux tem-
porel lin´eaire, sous des hypoth`eses appropri´ees concernant les th´eories du premier ordre
impliqu´ees. La preuve de ce r´esultat indique qu’on pourrait employer avec succ`es des Sol-
veurs Modulo des Th´eories dans les applications du model-checking aux syst`emes ayant un
nombre infini d’´etats.
Mots cl´es : M´ethodes de Combinaison, Model Checking, Proc´edures de D´ecisions.Contents
´R´esum´e Etendu vii
Introduction xvii
The Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviii
The Satisfiability Problem . . . . . . . . . . . . . . . . . . . . . . . . xix
Model Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
Our Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix
1 Non-Disjoint Combination 1
1.1 Formal preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 First-Order Logic . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Disjoint Combination . . . . . . . . . . . . . . . . . . . . . . 4
1.1.3 Basic Facts in Model Theory . . . . . . . . . . . . . . . . . . 6
1.2 Compatible Theories . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.1 Locally Finite Theories . . . . . . . . . . . . . . . . . . . . . 9
1.2.2 Noetherian Theories . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Combination Results for Non-Disjoint Theories . . . . . . . . . . . . 14
1.3.1 The Locally Finite Case . . . . . . . . . . . . . . . . . . . . . 15
1.3.2 The Noetherian Case . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.3 Interesting Properties . . . . . . . . . . . . . . . . . . . . . . 22
1.3.4 Mathematical Remarks . . . . . . . . . . . . . . . . . . . . . 27
1.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.5 The Theory of a Free Unary Function Symbol . . . . . . . . . . . . . 34
1.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2 Satisfiability in Temporal and Modal Logics 43
2.1 Temporalizing a First-Order Theory . . . . . . . . . . . . . . . . . . 44
2.1.1 Recursive Enumerability of the Validity Problem . . . . . . . 48
2.1.2 Some Classes of Data-Flow Theories and Further Assumptions 49
2.2 Undecidability of the Satisfiability Problem . . . . . . . . . . . . . . 51
2.3 Decidability and Locally Finite Data-Flow Theories . . . . . . . . . 52
2.3.1 Propositional Linear Time Temporal Logic . . . . . . . . . . 53
vvi Contents
2.3.2 Eager Reduction to Propositional LTL-Satisfiability . . . . . 54
2.3.3 A Lazy Tableau Procedure . . . . . . . . . . . . . . . . . . . 59
2.4 Decidability and Noetherian Compatible Data-Flow Theories . . . . 61
2.5 Extensions to Abstract Temporal Logics . . . . . . . . . . . . . . . . 66
2.6 Conclusions and Related Work . . . . . . . . . . . . . . . . . . . . . 69
3 Model Checking 71
3.1 LTL-System S