Vérification formelle de programmes de génération de données structurées - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2016

Formal verification of structured data generation programs

Vérification formelle de programmes de génération de données structurées

Résumé

The general problem of proving properties of imperative programs is undecidable. Some subproblems– restricting the languages of programs and properties – are known to be decidable. Inpractice, thanks to heuristics, program proving tools sometimes automate proofs for programs andproperties living outside of the theoretical framework of known decidability results. We illustrate thisfact by building a catalog of proofs, for similar programs and properties of increasing complexity. Mostof these programs are combinatorial map generators.Thus, this work contributes to the research fields of enumerative combinatorics and softwareengineering. We distribute a C library of bounded exhaustive generators of structured arrays, formallyspecified in ACSL and verified with the WP plugin of the Frama-C analysis platform. We also proposea testing-based methodology to assist interactive proof in Coq, an original formal study of maps, andnew results in enumerative combinatorics.
Le problème général de la preuve de propriétés de programmes impératifs est indécidable. Pour deslangages de programmation et de propriétés plus restrictifs, des sous-problèmes décidables sontconnus. En pratique, grâce à des heuristiques, les outils de preuve de programmes automatisent despreuves qui sortent du cadre théorique de ces sous-problèmes décidables connus. Nous illustronscette réussite pratique en construisant un catalogue de preuves, pour des programmes et despropriétés de nature similaire et de complexité croissante. Ces programmes sont principalementdes générateurs de cartes combinatoires.Ainsi, ce travail contribue aux domaines de recherche de la combinatoire énumérative et dugénie logiciel. Nous distribuons une bibliothèque C de générateurs exhaustifs bornés de tableauxstructurés, formellement spécifiés en ACSL et vérifiés avec le greffon WP de la plateforme d’analyseFrama-C. Nous proposons également une méthodologie de test qui facilite la preuve interactive enCoq, une étude formelle des cartes originale, et de nouveaux résultats en combinatoire énumérative.
Fichier principal
Vignette du fichier
these_A_GENESTIER_Richard_2016.pdf (2.22 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)
Loading...

Dates et versions

tel-01446896 , version 1 (26-01-2017)
tel-01446896 , version 2 (02-06-2017)

Identifiants

  • HAL Id : tel-01446896 , version 2

Citer

Richard Genestier. Vérification formelle de programmes de génération de données structurées. Performance et fiabilité [cs.PF]. Université de Franche-Comté, 2016. Français. ⟨NNT : 2016BESA2041⟩. ⟨tel-01446896v2⟩
591 Consultations
725 Téléchargements

Partager

Gmail Facebook X LinkedIn More