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 sub-problems -- restricting the languages of programs and properties -- are known to be decidable. In practice, thanks to heuristics, program proving tools sometimes automate proofs for programs and properties living outside of the theoretical framework of known decidability results. We illustrate this fact by building a catalog of proofs, for similar programs and properties of increasing complexity. Most of these programs are combinatorial map generators. Thus, this work contributes to the research fields of enumerative combinatorics and software engineering. We distribute a C library of bounded exhaustive generators of structured arrays, formally specified in ACSL and verified with the WP plugin of the Frama-C analysis platform. We also propose a testing-based methodology to assist interactive proof in Coq, an original formal study of maps, and new 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 des langages de programmation et de propriétés plus restrictifs, des sous-problèmes décidables sont connus. En pratique, grâce à des heuristiques, les outils de preuve de programmes automatisent des preuves qui sortent du cadre théorique de ces sous-problèmes décidables connus. Nous illustrons cette réussite pratique en construisant un catalogue de preuves, pour des programmes et des propriétés de nature similaire et de complexité croissante. Ces programmes sont principalement des générateurs de cartes combinatoires. Ainsi, ce travail contribue aux domaines de recherche de la combinatoire énumérative et du génie logiciel. Nous distribuons une bibliothèque C de générateurs exhaustifs bornés de tableaux structurés, formellement spécifiés en ACSL et vérifiés avec le greffon WP de la plateforme d'analyse Frama-C. Nous proposons également une méthodologie de test qui facilite la preuve interactive en Coq, une étude formelle des cartes originale, et de nouveaux résultats en combinatoire énumérative.
Fichier principal
Vignette du fichier
phDgenestier.pdf (4.17 Mo) Télécharger le fichier
Loading...

Dates et versions

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

Identifiants

  • HAL Id : tel-01446896 , version 1

Citer

Richard Genestier. Vérification formelle de programmes de génération de données structurées. Informatique [cs]. Université de Franche-Comté, 2016. Français. ⟨NNT : ⟩. ⟨tel-01446896v1⟩
591 Consultations
729 Téléchargements

Partager

Gmail Facebook X LinkedIn More