Analyse statique par interprétation abstraite modulaire de programmes concurrents en présence de mémoire faiblement cohérente

par Thibault Suzanne

Projet de thèse en Mathématiques

Sous la direction de Antoine Miné.

Thèses en préparation à Paris Sciences et Lettres , dans le cadre de École doctorale de Sciences mathématiques de Paris Centre (Paris) , en partenariat avec LIENS - Laboratoire d'informatique de l'École normale supérieure (laboratoire) et de École normale supérieure (Paris ; 1985-....) (établissement de préparation de la thèse) depuis le 01-10-2014 .


  • Résumé

    L'objectif de cette thèse est de faire progresser l'état de l'art de l'analyse statique modulaire de programmes concurrents en présence de modèles de mémoires faibles. Ce travail doit commencer dans le cadre du projet AstréeA, bénéficiant ainsi de l'expertise d'une équipe en interprétation abstraite et de celle de ses partenaires industriels (comme Airbus) dans la conception de logiciels concurrents critiques, ainsi que d'un accès à du code réel et à des exemples de problèmes d'analyse pour orienter la recherche. Suivant la méthodologie de l'interprétation abstraite, cette recherche passera par trois étapes : d'abord la description de nouvelles sémantiques (appelées sémantiques concrètes) qui modélisent mathématiquement et précisément le comportement réel de programmes concurrents dans des modèles de mémoires faibles, ensuite la recherche d'abstractions calculables qui permettent la conception d'analyses sûres et précises, enfin la mise en oeuvre de ces abstractions et leur validation par des expériences sur des extraits de code réel. Il faudra définir de nouvelles abstractions pour les états des programmes et les interférences entre processus, et proposer les fonctions de transfert et les opérateurs d'extrapolation requis pour une analyse statique modulaire automatique. La sûreté des opérateurs par rapport à la sémantique concrète choisie sera prouvée formellement, ainsi que la terminaison de l'analyse. De plus, il faudra choisir des structures de données et des algorithmes pour implémenter efficacement les domaines en questions. La conception des domaines abstraits comprendra donc des aspects à la fois sémantiques et algorithmiques. Le choix des abstractions sera motivé par leur capacité à représenter les informations importantes permettant d'assurer la correction des programmes, ainsi que par leurs possibilités de passage à l'échelle. Les facteurs décisifs comprennent la possibilité de représenter des informations relationnelles précises et sensibles au flot de contrôle, ce qui est actuellement hors de portée des analyseurs statiques pour des modèles de mémoires faibles. Les modèles comme Total Store Ordering (TSO) étant également sensibles à l'historique des exécutions, nous prévoyons également des interactions fructueuses avec le sujet des abstractions par par- titionnement de traces. Des recherches effectuées pour le projet AstréeA ont mis en évidence le besoin de modéliser précisément des mécanismes de synchronisation ad-hoc des processus, ainsi que l'utilisation de variables volatiles. Il s'agira donc de développer les abstractions requises pour l'analyse précise de ces traits de programmation, ainsi que pour les autres pratiques existantes utilisant des schémas qui interagissent 2avec les mémoires faiblement cohérentes. Les sémantiques concrètes proposées devront être suffisamment précises pour modéliser les aspects des modèles de mémoire dont les programmes dépendent, mais suffisamment générales pour que l'analyse qui en découle soit utilisable dans différents contextes. Le modèle simple TSO pourra servir de base à ce travail, mais il est probable que plusieurs sémantiques concrètes ou paramétrées devront être définies. La mise en oeuvre et la validation expérimentale des solutions proposées sera une partie centrale du travail de thèse. En raison de la nature dynamique des approximations effectuées dans les analyseurs statiques et des interactions complexes entre des abstractions utilisées conjointement, l'évaluation par l'expérience est indispensable pour assurer l'efficacité pratique et la précision des domaines abstraits.

  • Titre traduit

    Static Analysis by the Means of Abstract Interpretation of Concurrent Programs Under Weakly Consistent Memory Models


  • Pas de résumé disponible.