Partitionnement dynamique dans l'analyse de relations linéaires et application à la vérification de programmes synchrones
Auteur / Autrice : | Bertrand Jeannet |
Direction : | Nicolas Halbwachs |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance en 2000 |
Etablissement(s) : | Grenoble INPG |
Résumé
Ce travail porte sur la verification, par des methodes algorithmiques, de proprietes de surete de systemes synchrones ou plus generalement reactifs, presentant a la fois des aspects booleens et numeriques. Il propose une technique originale permettant d'augmenter tres sensiblement la taille des systemes verifies. Nous commencons par rappeler le cadre theorique utilise, qui est celui de l'interpretation abstraite, et une de ses applications, l'analyse de relations lineaires, qui permet d'inferer des relations lineaires liant les variables numeriques d'un programme en ses points de controle. Cette analyse a ete appliquee a la verification de programmes synchrones numeriques et de systemes hybrides lineaires. Dans ce contexte, deux problemes se posent : le premier est que la structure de controle explicite de ces systemes est souvent de taille prohibitive, et le deuxieme est que la precision de l'analyse est quelquefois insuffisante pour la preuve de certaines proprietes. Ces deux problemes s'averant lies, nous proposons une solution pour obtenir un compromis entre complexite et precision, consistant a utiliser un domaine abstrait combinant proprietes booleennes et numeriques, et a se servir d'une structure de controle pour ajuster la precision de l'analyse. Celle-ci se sert de la propriete a montrer pour raffiner automatiquement une structure de controle initiale grossiere, jusqu'a ce que la precision obtenue permette de conclure a la preuve de la propriete. Un outil de verification fonde sur ces principes a ete developpe et experimente sur plusieurs exemples significatifs, et pour certains d'entre eux inabordables par d'autres techniques automatiques existantes.