Programme détaillé : pdf
Résumé : Satisfiability modulo theory (SMT) consists in testing the satisfiability of first-order formulas over linear integer or real arithmetic, or other theories. In this survey, we explain the combination of propositional satisfiability and decision procedures for conjunctions known as DPLL(T), and the alternative "natural domain" approaches. We also cover quantifiers, Craig interpolants, polynomial arithmetic, and how SMT solvers are used in automated software analysis.
Résumé : La visualisation des logiciels est un outil efficace et flexible pour effectuer des tâches de développement et de maintenance qui sont difficiles à automatiser. Elle permet l'exploration et l'analyse de grands ensembles de données multidimensionnelles extraites des logiciels. Durant les deux dernières décennies, de nombreux environnements de visualisation ont été proposés. Pour la plupart, ils utilisent des métaphores de visualisation intéressantes et sont capables de représenter des logiciels de grande taille. Cependant, on ne peut que constater qu’en général, leur utilisation est restreinte à la petite communauté qui les a développées. Ce phénomène s’explique par une adéquation discutable de ces environnements pour les tâches qu’ils sont censés supporter. En effet, les choix effectués lors du développement de ces environnements ne sont pas (explicitement) motivés par la nature des tâches ciblées. Il est donc difficile pour le commun des utilisateurs de les comprendre et d’apprendre à les utiliser dans des situations concrètes. Dans cet exposé, nous présentons les principes et les lignes directrices pour développer des outils de visualisation de logiciels en considérant explicitement la nature des données et des actions mises en œuvre dans les tâches de maintenance. Ces principes sont illustrés à travers l'environnement de visualisation VERSO.
Résumé : Les diagrammes états-transitions algébriques (Algebraic State-Transition Diagrams - ASTD) sont une extension des Statecharts d'Harel en utilisant des opérateurs des algèbres de processus. Ces opérateurs permettent de composer des diagrammes d'états-transitions hiérarchiques. On retrouve la séquence, le choix, la fermeture de Kleene, la garde, la synchronisation et une version quantifiée du choix et de la synchronisation. Cette extension permet de conjuguer le pouvoir d'abstraction des algèbres de processus avec la représentation graphique des Statecharts. La construction itérative d'ASTD, par raffinement successif, sera présentée, en utilisant le raffinement d'état, de transition et de boucle. Deux mécanismes pour gérer les données d'un système seront présentés. Le premier permet un couplage avec le langage B, où chaque événement d'un ASTD est associé à une opération d'une machine B, qui encapsule les données. Dans le deuxième, on s'inspire de la tradition des Statecharts : des variables d'état sont déclarées dans les ASTD, et des actions sur les transitions et les états permettent de modifier ces variables d'état. Les outils permettant d'exécuter, de vérifier et de traduire en B les ASTD, ainsi que des algorithmes d'exécution efficace des ASTD, seront aussi présentés. Divers exemples d'application seront donnés : système d'information, système de contrôle de train, contrôle d'accès et détection d'intrusion en sécurité informatique.