Interprétation abstraite relationnelle de précision numérique dédiée aux erreurs relatives
Kévin Youyou, Maxime Jacquemin  1@  , Franck Védrine  1  , Julien Signoles@
1 : CEA Paris Saclay
Commissariat à l'énergie atomique et aux énergies alternatives

L'interprétation abstraite est une méthode d'analyse statique de programmes consistant à sur-approximer les valeurs des variables en chaque point de programme. Elle a été appliqué avec succès à plusieurs reprises à l'analyse des erreurs introduites par l'utilisation de l'arithmétique flottante. Cependant, la plupart de ces approches ne s'intéressent qu'à évaluer l'erreur absolue introduite, là où le comportement de l'arithmétique flottante est spécifié en terme d'erreurs relatives par la norme IEEE-754. Dans de précédents travaux, nous avions exploré l'idée de créer une analyse évaluant à la fois les erreurs absolues et relatives et les combinant afin d'améliorer les bornes évaluées. Nous avions également montré que cette approche permet d'améliorer significativement les bornes évaluées sans trop impacter les performances.

Cependant, cette première démonstration reposait sur l'arithmétique d'intervalles, et ne permettait pas de prendre en considération les relations entre les variables du programme. Une solution standard pour prendre en considération les relations dans l'analyse des erreurs absolues est l'utilisation de l'arithmétique affine. Cependant, cette approche est peu adaptée à l'analyse de l'erreur relative, cette dernière reposant énormément sur des opérations non linéaires, coûteuses et imprécises en arithmétique affine. Nous proposons donc une nouvelle arithmétique dédiée à l'analyse de l'erreur relative et permettant de prendre en considération les relations entre les différentes variables du programme.



  • Poster
Personnes connectées : 2 Vie privée
Chargement...