Accueil > Manifestations > Thèses et HDR > HDR > Gerson Sunyé

Gerson Sunyé

Résumé

Ce document résume l’expérience de l’auteur de sept ans sur le test des systèmes répartis à large échelle.
Nous condensons cette expérience en quatre volets.

Tout d’abord, nous introduisons une architecture de test distribuée qui utilise deux protocoles, un de diffusion pour envoyer des messages aux testeurs à partir du contrôleur de test et un autre de convergence, pour envoyer les messages des testeurs au contrôleur de test. Des expériences montrent que notre architecture passe mieux à l’échelle que des architectures centralisées traditionnelles lors de tests avec plus de 1.000 noeuds.

Deuxièmement, nous présentons une méthode pour tester des systèmes répartis à large échelle. Cette méthode prend en compte trois dimensions de ces systèmes : la fonctionnalité, le passage à l’échelle et la volatilité. Elle propose d’exécuter des tests dans différentes configurations, à partir d’un système statique à petite échelle jusqu’à un système dynamique à large échelle. Des expériences montrent que la modification de ces trois dimensions améliore la couverture de code, et en conséquence, la confiance dans les tests.

Troisièmement, nous présentons une approche qui préconise l’utilisation de modèles comme des oracles dynamiques pour tester les propriétés globales de systèmes répartis à large échelle. Cette approche s’intéresse à un sous-ensemble de propriétés d’un système réparti : les propriétés globales, de vivacité, observables et contrôlables.
L’approche propose de créer et mettre à jour efficacement un modèle global du système, à partir d’une surveillance du système pendant son exécution, et de le faire évoluer. Ce modèle sert d’oracle pour les tests distribués. Nous illustrons cette approche en vérifiant la fiabilité de deux algorithmes de routage de systèmes dynamiques. Les résultats montrent que cette approche a été capable de détecter des erreurs dans ces deux algorithmes.
Enfin, nous présentons une approche dirigée par les modèles pour le déploiement d’artefacts logiciels. L’approche considère un artefacts logiciel comme une gamme de produits et utilise des \emphfeature models pour représenter les configurations de ces produits, ainsi que des techniques basées sur les modèles pour gérer le déploiement automatique d’artefacts et le configuration. Des expériences montrent que cette approche réduit le trafic réseau lors du déploiement d’artefacts sur un environnement de cloud computing.

Composition du jury :

  • Yves Ledru (Professeur, Université Joseph Fourier, Rapporteur
  • Alexander Pretschner, Professeur, TU Müchen, Rapporteur
  • François Taiani, Professeur, Université de Rennes, Rapporteur
  • Claude JARD, Professeur, Université de Nantes, Examinateur
  • Jean-Marc JÉZÉQUEL, Professeur, Université de Rennes 1, Examinateur
  • Patrick VAUDRIEZ, Directeur de Recherche, INRIA Sophia Antipolis Mediterranée, Examinateur

Abstract :

This document summarize the author’s experience over eight years testing large-scale systems. We outline that experience in four points.

First, we present a methodology for testing large-scale system. The methodology takes into account three dimensions of these systems : functionality, scalability, and volatility. The methodology proposes to execute tests in different workloads, from a small-scale static system up to a large-scale dynamic system. Experiments show that the alteration of the three dimensional aspects improves code coverage, thus improving the confidence on tests.

Second, we introduce a distributed test architecture that uses both, a broadcast protocol to send messages from the test controller to testers and a converge cast protocol to send messages from testers back to the test controller. Experiments show that the architecture is more scalable than traditional centralized architectures when testing systems with more than 1,000 nodes.

Third, we present an approach for using models as dynamic oracles for testing global properties of large-scale systems. This approach focuses on global, liveness, observable and controllable properties. We propose to efficiently keep updating a global model of the system during its execution. This model is then instantiated and evolved at runtime, by monitoring the corresponding distributed system, and serve as oracle for the distributed tests. We illustrate this approach by testing the reliability of two routing algorithms under churn. Results show common flaws in both algorithms.

Finally, we present a model-driven approach for software artifacts deployment. We consider software artifacts as a product line and use feature models to represent their configurations and model-based techniques to handle automatic artifact deployment and reconfiguration. Experiments show that this approach reduces network traffic when deploying software on cloud environments.

Dernière modification : lundi 2 novembre 2015