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

par Richard Genestier

Thèse de doctorat en Informatique

Sous la direction de Olga Kouchnarenko et de Alain Giorgetti.

Soutenue le 01-12-2016

à Besançon , dans le cadre de École doctorale Sciences pour l'ingénieur et microtechniques (Besançon ; Dijon ; Belfort) , en partenariat avec FEMTO-ST : Franche-Comté Electronique Mécanique Thermique et Optique - Sciences et Technologies (Besançon) (équipe de recherche) et de Franche-Comté Électronique Mécanique, Thermique et Optique - Sciences et Technologies (laboratoire) .

Le président du jury était Vincent Vajnovszki.

Le jury était composé de Olga Kouchnarenko, Alain Giorgetti, Vincent Vajnovszki, Pascal Schreck, Marie-Laure Potet, Loïc Correnson.

Les rapporteurs étaient Pascal Schreck, Marie-Laure Potet.


  • Résumé

    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.

  • Titre traduit

    Formal verification of structured data generation programs


  • 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.


Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Autre version

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


Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse ?

  • Bibliothèque : Bibliothèque universitaire électronique, Besançon.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.
Cette thèse a donné lieu à 1 publication .

Consulter en bibliothèque

à

Informations

  • Sous le titre : Vérification formelle de programmes de génération de données structurées
  • Détails : 1Vol.(183p.)
  • Annexes : Bibliogr.172-183p.
La version de soutenance de cette thèse existe aussi sous forme papier.

Où se trouve cette thèse ?

Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.