Une recherche informatique plus performante
Le projet PADECL (Advanced program analysis using declarative languages) s'est intéressé au développement d'algorithmes avancés d'analyse de programmes basés sur des spécifications purement déclaratives, afin de les utiliser dans le cadre d'analyses de haut niveau et de langages de programmation. Ces spécifications sont axées sur ce qui a besoin d'être calculé plutôt que sur la méthode utilisée. De précédents travaux sur les spécifications déclaratives et la méthodologie d'optimisation ont permis d'améliorer les performances des implémentations d'analyses de pointeurs. Au cours du projet PADECL récemment achevé, l'équipe s'est consacrée au développement d'algorithmes efficaces d'analyse de programmes basés sur le langage de programmation Datalog. Ce langage de programmation utilise une vraie logique déclarative est souvent utilisé comme langage de requête pour les bases de données déductives. Parmi les activités du projet, l'analyse d'échappement, le flux d'informations, le flux d'exception et la sécurité mise en œuvre dans le cadre DOOP, une partie du langage de programmation Java, ont permis plus que les autres initiatives à ce jour, d'améliorer la précision, l'exhaustivité et les performances. Le projet PADECL a mis en œuvre des analyses de haut niveau de la sécurité, de la fiabilité et des performances pour les programmes Java, et développé une infrastructure initiale d'analyse des programmes en Javascript. Les résultats dans ce domaine serviront à améliorer le fonctionnement du cadre DOOP. Des informations complémentaires sont disponibles sur le site web de DOOP(s’ouvre dans une nouvelle fenêtre). Les résultats des recherches ont été publiés pour diverses manifestations comme l'International Conference on Compiler Construction (CC 2013) et Programming Language Design and Implementation (PLDI 2013). L'équipe a également publié quatre articles sur le sujet en collaboration avec l'Université d'Athènes dans des revues de haut niveau. Le cadre d'analyse de programme, à la fois efficace, précis, riche et modulaire mis au point via le projet PADECL, constitue un important pas en avant vers la compréhension automatique des programmes. Les résultats du projet faciliteront le développement de logiciels plus rapides et plus fiables, et amélioreront la productivité des programmeurs. Ces résultats ont des implications importantes pour de nombreux secteurs. Ils feront progresser des outils logiciels particuliers, les environnements de développement intégrés, les navigateurs et les détecteurs de bogues.
Mots‑clés
Informatique, programmes informatique, analyse de programme, langages déclaratifs, langages de programmation