Passer à la navigation principale Passer à la recherche Passer au contenu principal

Analyse et détection des patrons architecturaux dans les applications mobiles à l’aide des techniques d’apprentissage automatique

  • Chaima Chekhaba

Thèses et mémoires: Mémoire de maîtriseMaîtrise en ingénierie: Génie

Résumé

Récemment, les applications mobiles ont connu une grande émergence dans de multiples domaines. Afin de répondre à la qualité requise de ces applications, les développeurs mobiles appliquent les bonnes pratiques (par exemple, les patrons) et les directives recommandées par la communauté du développement. Parmi les patrons architecturaux les plus couramment utilisés pour implémenter les applications Android, figurent le célèbre patron architectural Modèle-Vue-Contrôleur (MVC) et ses variantes : Modèle-Vue-Présentateur (MVP) et Modèle- Vue-Vue-Modèle (MVVM). Cependant, les développeurs ont tendance à appliquer différemment ces patrons en fonction de leur expérience et de leur propre compréhension des directives relatives aux patrons. Cela peut conduire à des implémentations incorrectes qui ont un impact négatif sur la conception de l’application. Parfois, cela conduit également à mélanger différentes variantes MVC au sein d’une même application, ce qui peut nuire à la compréhensibilité, à la maintenabilité et à la testabilité de l’application. Dans ce mémoire, nous nous intéressons à l’analyse des applications Android afin de détecter les patrons appliqués et identifier potentiellement le mélange de plusieurs patrons de type MVC implémentés dans une même application. À cette fin, nous présentons nos deux approches outillées : Coach et MlCoach. L’approche Coach permet de détecter le patron du type MVC dominant dans les applications Android à l’aide de la classification traditionnelle. Quant à l’approche MlCoach, elle permet de détecter le mélange de plusieurs patrons de type MVC à l’aide de la classification multi-label en utilisant l’apprentissage profond. En l’absence de données d’entraînement, nous effectuons nos analyses sur un ensemble de données annotées manuellement de 69 applications Android libres écrites en Java. D’après nos expérimentations, nos approches donnent des résultats prometteurs et surpassent les approches de l’état de l’art. Nous présentons également une analyse qualitative sur un sous-ensemble d’applications mobiles afin de donner un aperçu sur les facteurs qui peuvent conduire au mélange de différents patrons de type MVC dans ces applications.
Date1 mai 2023
langue originaleFrançais
Établissement diplômant
  • École de technologie supérieure
SuperviseurNaouel Moha (Directeur(-trice)) & Ghizlane El Boussaidi (Codirecteur(-trice))

Mots-clés

  • patrons architecturaux
  • MVC
  • MVP
  • MVVM
  • applications mobiles
  • classification
  • classification multi-label

Citer cette ressource

'