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

An empirical study on the impact of refactoring in Android applications

Traduction de l'intitulé de la thèse: Une étude empirique sur l’impact du refactoring dans les applications Android
  • Oumayma Hamdi

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

Résumé

Les applications mobiles (apps) deviennent des logiciels complexes qui doivent être développés rapidement tout en évoluant de manière continue afin de répondre aux nouveaux besoins des utilisateurs ainsi qu’aux mises à jour régulières. Cette évolution rapide peut provoquer la présence de mauvais choix d’implémentions ou de conception qui se manifestent par ce qu’on appelle défauts de code ou code smells. La présence de ces défauts au sein d’une application peut dégrader la qualité et les performances en compliquant les tâches de maintenance et d’évolution. Il est alors important de connaître ces défauts mais aussi de pouvoir les détecter et les corriger, afin de permettre aux développeurs d’améliorer la qualité et les performances de leur application. Pour corriger les défauts de code et améliorer la qualité des apps, refactoring, est une technique clé largement acceptée qui consiste à modifier la structure interne du code source tout en préservant son comportement externe. Bien que la plupart des études existantes ont étudié l’impact des activités de refactoring dans les applications orientées objet, peu d’attention a été accordée aux applications mobiles. En particulier, il y a un manque de connaissances sur l’impact de refactoring sur différents aspects de la qualité du logiciel, y compris les défauts de code et les métriques de qualité. De plus, la plupart des recherches précédentes se sont concentrées sur l’étude des caractéristiques des défauts de code orientées objet (OO) traditionnelles affectant les fichiers de code source dans les systèmes logiciels traditionnels, et ont préconisé que l’interaction et la co-présence des défauts de code réduisent la capacité des développeurs à comprendre et maintenir le code source. Cependant, peu de connaissances sont disponibles sur les catégories émergentes de défauts de code spécifiques à Android et leurs interactions, c’est-à-dire les cooccurrences, avec les défauts OO traditionnelles, dans le contexte des applications Android. Par conséquent, dans cette mémoire, nous menons une série d’études empiriques pour mieux comprendre le concept de refactoring et de défauts de code dans les applications mobiles. Premièrement, nous menons une étude longitudinale sur l’historique d’évolution de cinq applications Android pour étudier l’impact de refcatoring sur les défauts de code orientés objets et spécifique à Android. Ensuite, nous performons une étude empirique sur un vaste ensemble de données composé de 1,923 applications Android pour étudier la co-occurrence des défauts de code. Finalement, nous réalisons une étude sur un ensemble de données composé de 300 applications Android pour analyser l’impact du refactoring sur les métriques de qualité. Nos résultats montrent que (1) les défauts de code sont répandues dans les applications Android, mais les classes contenant des défauts de code ne sont pas particulièrement ciblées par les activités de refactoring et, lorsqu’elles le sont, il est rare que le refactoring élimine réellement lé défaut, (2) le phénomène de co-occurrence est en effet répandu dans les applications Android et plusieurs types de défauts de code ont de fortes associations, et (3) lorsque le refactoring affecte les métriques, elle les améliore généralement. Dans de nombreux cas, le refactoring n’a pas d’impact significatif sur les métriques, alors qu’une métrique (LCOM) se détériore globalement à la suite du refactoring. Les résultats de ces études empiriques ont révélé des résultats de recherche importants. Notamment, sur la pratique actuelle du refactoring dans le contexte de développement d’applications mobiles ainsi que sur les défauts de code et leur interaction. Ces résultats nous ont permis d’élaborer quelques recommandations pour les chercheurs et les développeurs d’outils pour concevoir des outils de détection et de refactoring des défauts de code mobile. Nos résultats ouvert des perspectives pour des travaux de recherche sur l’identification des défauts de code mobiles et sur les pratiques de développement en général.
Date17 déc. 2021
langue originaleAnglais américain
Établissement diplômant
  • École de technologie supérieure
SuperviseurAli Ouni (Directeur(-trice))

Mots-clés

  • applications mobiles
  • refactoring
  • défauts de code
  • métriques de qualité
  • étude empirique

Citer cette ressource

'