Runtime monitoring coopératif : une nouvelle approche pour la vérification en ligne de contrats d'interface

 

Sylvain Hallé

Université du Québec à Chicoutimi

 

Domaine : structures abstraites

Programme établissement de nouveaux chercheurs universitaires

Concours 2012-2013

Un « contrat d'interface » est une définition formelle de ce qui constitue une interaction valide avec un système particulier au fil du temps. On retrouve par exemple ce type de contrat en cloud computing, dans les interactions entre services Web, où un client (navigateur) communique avec un serveur dans une transaction par le biais de messages. Le contrat d'interface vise à définir clairement comment le client et le serveur doivent converser, en précisant les commandes qui peuvent être envoyées, les réponses attendues, voire les valeurs des paramètres acceptés par chaque commande. Une violation du contrat par l'une ou l'autre des parties peut entraîner son vis-à-vis dans un état indéfini. Pour toutes ces raisons, un serveur doit constamment s'assurer au moment de l'exécution que son client respecte ce qui est attendu de lui. Une des approches existantes, « runtime monitoring », consiste pour le serveur à analyser chaque message soumis par un client et à le comparer, en temps réel, à la spécification attendue.

Le présent projet propose une nouvelle approche au monitoring des contrats d'interface, dans laquelle la tâche de vérification est partagée entre le client et le serveur. Elle présente le potentiel de diminuer considérablement le travail requis par le serveur pour s'assurer de la conformité à un contrat en déléguant une grande partie de la tâche à un tiers. Une telle approche pourrait produire des outils pratiques de développement, de débogage et de test, et améliorer la sécurité et la fiabilité des systèmes informatiques.