Transformation de Programmes pour des Nombres Réels Fiables

Cette thèse présente un algorithme qui élimine les racines carrées et les divisions dans des programmes sans boucles, utilisés dans des systèmes embarqués, tout en préservant la sémantique. L'élimination de ces opérations permet d'éviter les erreurs d'arrondis à l'exécution, ces...

Full description

Bibliographic Details
Main Author: Neron, Pierre
Language:English
Published: Ecole Polytechnique X 2013
Subjects:
Online Access:http://pastel.archives-ouvertes.fr/pastel-00960808
http://pastel.archives-ouvertes.fr/docs/00/96/08/08/PDF/pnthese.pdf
id ndltd-CCSD-oai-pastel.archives-ouvertes.fr-pastel-00960808
record_format oai_dc
spelling ndltd-CCSD-oai-pastel.archives-ouvertes.fr-pastel-009608082014-08-06T03:32:55Z http://pastel.archives-ouvertes.fr/pastel-00960808 http://pastel.archives-ouvertes.fr/docs/00/96/08/08/PDF/pnthese.pdf Transformation de Programmes pour des Nombres Réels Fiables Neron, Pierre [INFO:INFO_LO] Computer Science/Logic in Computer Science [INFO:INFO_LO] Informatique/Logique en informatique Transformation de programmes Assistant de preuve Arithmétique Réelle Système embarqué Anti-Unification Elimination des quantificateurs Semantique Transformation certifiante Cette thèse présente un algorithme qui élimine les racines carrées et les divisions dans des programmes sans boucles, utilisés dans des systèmes embarqués, tout en préservant la sémantique. L'élimination de ces opérations permet d'éviter les erreurs d'arrondis à l'exécution, ces erreurs d'arrondis pouvant entraîner un comportement complètement inattendu de la part du programme. Cette trans- formation respecte les contraintes du code embarqué, en particulier la nécessité pour le programme produit de s'exécuter en mémoire fixe. Cette transformation utilise deux algorithmes fondamentaux développés dans cette thèse. Le premier permet d'éliminer les racines carrées et les divisions des expressions booléennes contenant des comparaisons d'expressions arithmétiques. Le second est un algorithme qui résout un problème d'anti-unification particulier, que nous appelons anti-unification contrainte. Cette transformation de programme est définie et prouvée dans l'assistant de preuves PVS. Elle est aussi implantée comme une stratégie de ce système. L'anti-unification contrainte est aussi utilisée pour étendre la transformation à des programmes contenant des fonctions. Elle permet ainsi d'éliminer les racines carrées et les divisions de spécifications écrites en PVS. La robustesse de cette méthode est mise en valeur par un exemple conséquent: l'élimination des racines carrées et des divisions dans un programme de détection des conflits aériens. 2013-10-04 eng PhD thesis Ecole Polytechnique X
collection NDLTD
language English
sources NDLTD
topic [INFO:INFO_LO] Computer Science/Logic in Computer Science
[INFO:INFO_LO] Informatique/Logique en informatique
Transformation de programmes
Assistant de preuve
Arithmétique Réelle
Système embarqué
Anti-Unification
Elimination des quantificateurs
Semantique
Transformation certifiante
spellingShingle [INFO:INFO_LO] Computer Science/Logic in Computer Science
[INFO:INFO_LO] Informatique/Logique en informatique
Transformation de programmes
Assistant de preuve
Arithmétique Réelle
Système embarqué
Anti-Unification
Elimination des quantificateurs
Semantique
Transformation certifiante
Neron, Pierre
Transformation de Programmes pour des Nombres Réels Fiables
description Cette thèse présente un algorithme qui élimine les racines carrées et les divisions dans des programmes sans boucles, utilisés dans des systèmes embarqués, tout en préservant la sémantique. L'élimination de ces opérations permet d'éviter les erreurs d'arrondis à l'exécution, ces erreurs d'arrondis pouvant entraîner un comportement complètement inattendu de la part du programme. Cette trans- formation respecte les contraintes du code embarqué, en particulier la nécessité pour le programme produit de s'exécuter en mémoire fixe. Cette transformation utilise deux algorithmes fondamentaux développés dans cette thèse. Le premier permet d'éliminer les racines carrées et les divisions des expressions booléennes contenant des comparaisons d'expressions arithmétiques. Le second est un algorithme qui résout un problème d'anti-unification particulier, que nous appelons anti-unification contrainte. Cette transformation de programme est définie et prouvée dans l'assistant de preuves PVS. Elle est aussi implantée comme une stratégie de ce système. L'anti-unification contrainte est aussi utilisée pour étendre la transformation à des programmes contenant des fonctions. Elle permet ainsi d'éliminer les racines carrées et les divisions de spécifications écrites en PVS. La robustesse de cette méthode est mise en valeur par un exemple conséquent: l'élimination des racines carrées et des divisions dans un programme de détection des conflits aériens.
author Neron, Pierre
author_facet Neron, Pierre
author_sort Neron, Pierre
title Transformation de Programmes pour des Nombres Réels Fiables
title_short Transformation de Programmes pour des Nombres Réels Fiables
title_full Transformation de Programmes pour des Nombres Réels Fiables
title_fullStr Transformation de Programmes pour des Nombres Réels Fiables
title_full_unstemmed Transformation de Programmes pour des Nombres Réels Fiables
title_sort transformation de programmes pour des nombres réels fiables
publisher Ecole Polytechnique X
publishDate 2013
url http://pastel.archives-ouvertes.fr/pastel-00960808
http://pastel.archives-ouvertes.fr/docs/00/96/08/08/PDF/pnthese.pdf
work_keys_str_mv AT neronpierre transformationdeprogrammespourdesnombresreelsfiables
_version_ 1716709988242554880