Formalisation d'une analyse de région pour Frama-C/WP
Résumé
La preuve déductive en logique de Hoare de programmes avec des pointeurs nécessite une modélisation logique de la mémoire. Dans Frama-C/WP, un outil mature et utilisé industriellement pour la preuve de programmes C, nous étudions un nouveau modèle mémoire qui s'appuie sur la nature et la localisation des accès mémoires effectués par le programme. Cette cartographie des accès mémoires est une sorte analyse d'alias enrichie par des méta-données sur le type des accès effectués. Une analyse modulaire est nécessaire, avec des annotations pour en adapter la précision ainsi que des fondations sémantiques solides pour en démontrer la correction.
Cet article présente cette cartographie des accès mémoire, que nous appelons analyse de région, son implémentation, sa formalisation ainsi que sa preuve de correction sémantique. C'est une analyse d'alias et de forme, incrémentale, modulaire, qui peut être vue comme un système d'inférence de type. L'analyseur, sa formalisation et la preuve de correction sémantique sont entièrement développés dans l'assistant de preuve Coq. C'est un travail en cours de développement mais qui montre d'ores et déjà le rôle et la nécessité de conditions de vérifications spécifiques, généralement éludées dans la littérature, pour en garantir la correction.
Domaines
Informatique [cs]Origine | Fichiers produits par l'(les) auteur(s) |
---|