Arithmétiques relationnelles pour l'analyse par interprétation abstraite de propriétés de précision numérique - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2021

Relational Arithmetics for Abstract Interpretation Based Analysis of Numerical Accuracy Properties

Arithmétiques relationnelles pour l'analyse par interprétation abstraite de propriétés de précision numérique

Résumé

Floating point arithmetic is the most used approach to perform mathematical computations using real numbers with a computer. However, this approach has a default : each operation can introduce an error, that is, a difference with the result we would have obtained using real numbers. Even if those errors are very small, they can accumulate et provoke serious bugs, particularly in critical domains like aeronautics or nuclear energy production for example. Thus, we have to be able to guarantee that the errors introduced by the use of floating point arithmetic do not cause problems, in other words, that they are small enough for the program to behave as expected. To answer this need, we propose an abstract interpretation based static analysis, along with a new abstract domain, that computes an overapproximation of the errors introduced by floating point arithmetic. This analysis is based on the interaction, performed through a reduced product, between two conceptions of the concept of error : absolute error, intuitive and helpful to understand the analyzed program, and relative error, closer of floating point arithmetic functioning. Our analysis relies on the combination of affine and intervals arithmetics, and thus have relational reasoning capacities. However, this combination has difficulties dealing with non linear operations, whose precision has a huge impact on relative errors evaluations. Thus, we propose two approaches to tackle this problem. The first one consists of several improvements of this combination that help evaluating multiplications and divisions more precisely without impacting performances significantly. The second one consists of the definition of a new relational arithmetic, specifically designed to represent relative errors. Besides, we have implemented a prototype of our analysis within the Frama-C/Eva tool. The first experimental results enlighten the advantages of our analysis against state of the art tools.
L'arithmétique à virgule flottante est l'approche la plus utilisée pour réaliser des calculs mathématiques reposant sur les nombres réels avec un ordinateur. Cependant, elle souffre d'un défaut : chaque opération peut introduire une erreur, c'est-à-dire une différence avec le résultat que nous aurions obtenu en utilisant des réels. Bien que ces erreurs soient très faibles, elles peuvent s'accumuler et provoquer des bugs ayant parfois des conséquences graves, en particulier dans des domaines critiques comme l'aéronautique ou le nucléaire. Il est donc nécessaire de pouvoir garantir que les erreurs introduites par l'utilisation de l'arithmétique flottante ne causent pas de problème, ou, dit autrement, qu'elles soient suffisamment faibles pour que le programme se comporte comme attendu. Pour répondre à ce besoin, nous proposons une analyse statique par interprétation abstraite, reposant sur un nouveau domaine abstrait, et calculant une sur-approximation des erreurs introduites par l'arithmétique flottante. Cette analyse repose sur l'interaction, au travers d'un produit réduit, entre deux conceptions de la notion d'erreur: l'erreur absolue, intuitive et permettant de mieux comprendre le programme analysé, et l'erreur relative, plus proche du fonctionnement de l'arithmétique flottante. Notre analyse repose sur la combinaison des arithmétiques affines et d'intervalles, et dispose de capacités de raisonnements relationnels. Cette combinaison a cependant des difficultés à traiter les opérations non linéaires, dont la précision impacte fortement l'évaluation des erreurs relatives. Nous proposons donc deux approches pour répondre à ce problème. La première consiste en différentes améliorations de cette combinaison, permettant d'évaluer plus précisément multiplications et divisions sans impacter significativement les performances. La seconde consiste en la définition d'une nouvelle arithmétique relationnelle, spécifiquement conçue pour représenter l'erreur relative. Par ailleurs, nous avons implémenté un prototype de notre analyse au sein de l'outil Frama-C/Eva. Les premiers résultats expérimentaux montrent l'intérêt de notre analyse par rapport à l'état de l'art.
Fichier principal
Vignette du fichier
95912_JACQUEMIN_2021_archivage.pdf (1.55 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-03566701 , version 1 (11-02-2022)

Identifiants

  • HAL Id : tel-03566701 , version 1

Citer

Maxime Jacquemin. Arithmétiques relationnelles pour l'analyse par interprétation abstraite de propriétés de précision numérique. Arithmétique des ordinateurs. Université Paris-Saclay, 2021. Français. ⟨NNT : 2021UPASG050⟩. ⟨tel-03566701⟩
115 Consultations
158 Téléchargements

Partager

Gmail Facebook X LinkedIn More