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

Example-based model refactoring using heuristic search

  • Adnane Ghannem

Thèses et mémoires: Thèse de doctoratDoctorat en génie: Génie

Résumé

La maintenance logicielle est considérée comme l'activité la plus coûteuse dans le développement des systèmes logiciels: plus de 80% des ressources lui sont consacrées. Dans l'activité de maintenance logicielle, les modèles sont très peu pris en compte. L’évolution de ces modèles et les transformations qui les manipulent sont au coeur de l’ingénierie dirigée par les modèles (IDM). Cependant, comme le code source, le modèle change et tend à devenir de plus en plus complexe au fur et à mesure de son existence. Ces changements ont généralement un impact négatif sur la qualité des modèles et ils provoquent une détérioration des logiciels. Dans ce contexte, le refactoring est la technique la plus utilisée pour maintenir une qualité adéquate de ces modèles. Le refactoring se fait généralement en deux étapes: la détection des éléments du modèle à corriger (défauts de conception), puis la correction de ces éléments. Dans le cadre de cette thèse, nous proposons deux principales contributions liées aux problèmes de détection et correction des défauts dans les diagrammes de classes. La première contribution est l’automatisation de la détection des défauts de conception. Nous proposons d'adapter des algorithmes génétiques (ex., programmation génétique) pour détecter les parties du modèle qui peuvent correspondre à des défauts. La deuxième contribution vise l’automatisation de la correction de ces défauts. Nous proposons d’adapter trois méthodes heuristiques pour suggérer des refactorings: 1. Une méthode d’optimisation mono-objective basée sur la similarité structurelle entre un modèle donné (i.e., le modèle à refactoriser) et un ensemble de modèles dans la base d'exemples (i.e., des modèles qui ont subi des refactorings); 2. Une méthode d’optimisation mono-objective interactive basée sur la similarité structurelle et l’avis du concepteur; et 3. Une méthode d’optimisation multi-objective qui maximise à la fois la similarité structurelle et sémantique. Les différentes méthodes proposées ont été implémentées et évaluées sur des modèles générés à partir de logiciels libres et les résultats obtenus montrent leur efficacité.
Date6 janv. 2015
langue originaleAnglais américain
Établissement diplômant
  • École de technologie supérieure
SuperviseurGhizlane El Boussaidi (Directeur(-trice)), Marouane Kessentini (Codirecteur(-trice)) & Alain Abran (Codirecteur(-trice))

Mots-clés

  • Logiciels Maintenance. Logiciels Refactorisation. Ingénierie dirigée par les modèles. Détection de défaut (Ingénierie) Automatisation. Programmation heuristique. Algorithmes génétiques. défauts de conception
  • refactoring
  • diagramme de classe
  • recherche heuristique

Citer cette ressource

'