Stratégies de recherches dédiées à la résolution de systèmes de contraintes sur les flottants pour la vérification de programmes

Résumé : La vérification des programmes est un enjeu majeur pour les applications critiques comme l'aviation, l'aérospatiale ou les systèmes embarqués. Les approches Bounded model checking (e.g., CBMC) et de programmation par contraintes (e.g., CPBPV, …) reposent sur la recherche de contre-exemples qui violent une propriété du programme à vérifier. La recherche de tels contre-exemples peut être très longue et coûteuse lorsque les programmes à vérifier contiennent des calculs en virgule flottante. Ceci est dû en grande partie au fait que les stratégies de recherche existantes ont été conçues pour des domaines finis et, dans une moindre mesure, pour des domaines continus. Dans cette thèse, nous proposons un ensemble de stratégie de recherche dédié à la vérification de programme avec du calcul sur les flottants. Les stratégies proposées pour les choix de variables et de choix de valeur se basent sur des propriétés propres aux flottants. Ces propriétés utilisent des caractéristiques des domaines des variables, ou de la structure des contraintes. Certaines propriétés qui portent sur les domaines des variables sont classiques comme la taille et la cardinalité et d'autres beaucoup plus spécifiques comme la densité. Les notions de taille et cardinalité sont équivalentes sur les entiers, mais ne le sont pas sur les flottants. Ainsi la densité capture une variabilité qui est très spécifique aux flottants dont la moitié se trouve entre [-1,1]. De manière similaire les propriétés qui portent sur la structure des contraintes sont, pour certaines tels que le degré ou le nombre d’occurrences, issues des domaines finis, et pour d’autres beaucoup plus spécifiques, comme l’absorption, et la cancellation; ces deux propriétés capturent des phénomènes qui sont généralement la cause de fortes déviations du programme flottant vis-à-vis son interprétation sur les réels et donc de l’existence même de beaucoup de contre-exemples. Pour chaque propriété, deux stratégies de choix de variables sont proposées. La première choisit la variable qui minimise la propriété, alors que la seconde choisit la variable qui la maximise. Les stratégies de choix de valeurs essaient quant à elles de tirer profit des phénomènes d'absorption et de cancellation. L'évaluation de ces stratégies sur un ensemble de programmes réalistes est très encourageante : ces stratégies sont plus efficaces que les stratégies standards.
Type de document :
Thèse
Génie logiciel [cs.SE]. Université Côte d'Azur, 2018. Français. 〈NNT : 2018AZUR4089〉
Liste complète des métadonnées

https://tel.archives-ouvertes.fr/tel-02011939
Contributeur : Abes Star <>
Soumis le : vendredi 8 février 2019 - 12:04:08
Dernière modification le : samedi 9 février 2019 - 01:20:14

Fichier

2018AZUR4089.pdf
Version validée par le jury (STAR)

Identifiants

  • HAL Id : tel-02011939, version 1

Collections

Citation

Heytem Zitoun. Stratégies de recherches dédiées à la résolution de systèmes de contraintes sur les flottants pour la vérification de programmes. Génie logiciel [cs.SE]. Université Côte d'Azur, 2018. Français. 〈NNT : 2018AZUR4089〉. 〈tel-02011939〉

Partager

Métriques

Consultations de la notice

62

Téléchargements de fichiers

29