Javascript must be enabled to continue!
Méthodes et outils pour la spécification et la preuve de propriétés difficiles de programmes séquentiels
View through CrossRef
Cette thèse se positionne dans le domaine de la vérification déductive de programmes, qui consiste à transformer une propriété à vérifier sur un programme en un énoncé logique, pour ensuite démontrer cet énoncé. La vérification effective d'un programme peut poser de nombreuses difficultés pratiques. En fait, les concepts mis en jeu derrière le programme peuvent suffire à faire obstacle à la vérification. En effet, certains programmes peuvent être assez courts et n'utiliser que des constructions simples, et pourtant s'avérer très difficiles à vérifier. Cela nous amène à la question suivante: dans le contexte d'un environnement de vérification déductive de programmes basé sur les démonstrateurs automatiques, quelles méthodes appliquer pour réduire l'effort nécessaire à la fois pour spécifier des comportements attendus complexes, ainsi que pour démontrer qu'un programme respecte ces comportements attendus? Pour mener notre étude, nous nous sommes placés dans le cadre de l'environnement de vérification déductive de programmes Why3. La vérification de programmes en Why3 est basée sur la génération de conditions de vérification, et l'usage de démonstrateurs externes pour les prouver, que ces démonstrateurs soient automatiques ou interactifs. Nous avons développé plusieurs méthodes, certaines générales et d'autres spécifiques à des classes de programmes, pour réduire l'effort manuel. Nos contributions sont les suivantes. Tout d'abord, nous ajoutons des fonctionnalités à Why3 pour assister le processus de vérification, notamment un mécanisme léger de preuve déclarative basé sur la notion d'indicateurs de coupures. Ensuite, nous présentons une méthode de vérification d'absence de débordement arithmétique pour une classe d'utilisation des entiers difficile à traiter par les méthodes standards. Enfin, nous nous intéressons au développement d'une bibliothèque générique pour la spécification et la preuve de programmes générateurs de code.
Title: Méthodes et outils pour la spécification et la preuve de propriétés difficiles de programmes séquentiels
Description:
Cette thèse se positionne dans le domaine de la vérification déductive de programmes, qui consiste à transformer une propriété à vérifier sur un programme en un énoncé logique, pour ensuite démontrer cet énoncé.
La vérification effective d'un programme peut poser de nombreuses difficultés pratiques.
En fait, les concepts mis en jeu derrière le programme peuvent suffire à faire obstacle à la vérification.
En effet, certains programmes peuvent être assez courts et n'utiliser que des constructions simples, et pourtant s'avérer très difficiles à vérifier.
Cela nous amène à la question suivante: dans le contexte d'un environnement de vérification déductive de programmes basé sur les démonstrateurs automatiques, quelles méthodes appliquer pour réduire l'effort nécessaire à la fois pour spécifier des comportements attendus complexes, ainsi que pour démontrer qu'un programme respecte ces comportements attendus? Pour mener notre étude, nous nous sommes placés dans le cadre de l'environnement de vérification déductive de programmes Why3.
La vérification de programmes en Why3 est basée sur la génération de conditions de vérification, et l'usage de démonstrateurs externes pour les prouver, que ces démonstrateurs soient automatiques ou interactifs.
Nous avons développé plusieurs méthodes, certaines générales et d'autres spécifiques à des classes de programmes, pour réduire l'effort manuel.
Nos contributions sont les suivantes.
Tout d'abord, nous ajoutons des fonctionnalités à Why3 pour assister le processus de vérification, notamment un mécanisme léger de preuve déclarative basé sur la notion d'indicateurs de coupures.
Ensuite, nous présentons une méthode de vérification d'absence de débordement arithmétique pour une classe d'utilisation des entiers difficile à traiter par les méthodes standards.
Enfin, nous nous intéressons au développement d'une bibliothèque générique pour la spécification et la preuve de programmes générateurs de code.
Related Results
REGULAR ARTICLES
REGULAR ARTICLES
L. Cowen and
C. J.
Schwarz
657Les Radio‐tags, en raison de leur détectabilitéélevée, ...
Reification of visual properties for composition tasks
Reification of visual properties for composition tasks
Réification des propriétés visuelles pour les tâches de composition
Les graphistes utilisent des propriétés visuelles comme la couleur, la police de caractères typo...
Anthropologie et archéologie
Anthropologie et archéologie
Les parcours sinueux qu’ont suivis l’anthropologie et l’archéologie en Amérique du Nord depuis une cinquantaine d’années démontrent des intérêts convergents pour la connaissance et...
A Machine-Checked Proof of Correctness of Pastry
A Machine-Checked Proof of Correctness of Pastry
Une preuve certifiée par la machine de la correction du protocole Pastry
Les réseaux pair-à-pair (P2P) constituent un modèle de plus en plus populaire pour la progr...
Preuve de propriétés dynamiques en B
Preuve de propriétés dynamiques en B
Les propriétés que l’on souhaite exprimer sur les applications système d’information ne peuvent se restreindre aux propriétés statiques, dites propriétés d’invariance, qui portent ...
Statistique des comparaisons de génomes complets bactériens
Statistique des comparaisons de génomes complets bactériens
La génomique comparative est l'étude des relations structurales et fonctionnelles entre des génomes appartenant à différentes souches ou espèces. Cette discipline offre ainsi la po...
Ventilation naturelle en architecture : méthodes, outils et règles de conception
Ventilation naturelle en architecture : méthodes, outils et règles de conception
Ventilation naturelle en architecture : méthodes, outils et règles de conception
La ventilation naturelle est une stratégie passive qui permet l'échange naturel d'a...
Certified semantics and analysis of JavaScript
Certified semantics and analysis of JavaScript
Sémantique et analyse certifiée de JavaScript
JavaScript est un langage de programmation maintenant très utilisé - y compris dans des domaines où la sécurité est im...

