Abstract

Au cours des quinze dernières années, le style architectural des microservices est devenu un modèle dominant, en particulier pour la conception d'applications basées sur le cloud dans le continuum cloud. Porté par les méthodes de développement agiles, il a été adopté par de nombreux acteurs de l'industrie logicielle moderne, notamment des communautés open-source ainsi que des entreprises de développement logiciel telles que Netflix, Spotify et Amazon. Contrairement au style architectural monolithique, il est loué pour ses qualités de modularité, d'hétérogénéité, de déployabilité, de collaboration et d'automatisation. Faciliter l'évolution logicielle est l'une des principales motivations de l'adoption des architectures microservices. Paradoxalement, de récentes études observent l'inverse, en particulier en ce qui concerne la couche de manipulation des données. Aujourd'hui, elle est considérée comme l'un des défis les plus pressants. En effet, ce style impacte la couche de données, la rendant hétérogène et distribuée. En pratique, les développeurs rencontrent des difficultés à obtenir une vue holistique du système, à comprendre les concepts de données associés, à mesurer l'impact des changements et à propager les modifications subséquentes tout en préservant les relations inter-microservices et inter-données, qui sont parfois implicites. Ces défis conduisent souvent à une surcharge manuelle importante lors des tâches d'évolution, pour lesquelles les développeurs souffrent d'un manque de soutien. Cette thèse vise à combler ces lacunes en proposant de nouvelles méthodes, techniques et outils. Plus précisément, elle combine des techniques d'analyse statique et dynamique des programmes pour opérer la rétro-ingénierie des microservices et de leur couche de manipulation des données, identifier les concepts de données et localiser les fragments de code associés, tout en tenant compte de leur nature hétérogène et distribuée. Elle visualise ensuite les informations extraites d'un point de vue multicouche. Enfin, elle introduit des techniques permettant d'analyser l'évolution orientée sur les données des microservices dans une perspective historique.

Le jury

  • Prof. Dr. Katrien BEULS - Président du jury, UNamur, Belgique
  • Prof. Dr. Anthony CLEVE - Promoteur, UNamur, Belgique
  • Prof. Dr. Xavier DEVROEY - Membre interne, UNamur, Belgique
  • Prof. Dr. Etienne RIVIERE - Co-Promoteur, UCLouvain, Belgique
  • Prof. Dr. Massimiliano DI PENTA - Membre externe, University of Sannio, Italie
  • Prof. Dr. Michele LANZA - Membre externe, Università della Svizzara Italiana, Italie

Evènement gratuit sur inscription.