Validation de dépendances de programme par traces d'exécution

Haddaji, Mohamed Amine (2021). « Validation de dépendances de programme par traces d'exécution » Mémoire. Montréal (Québec), Université du Québec à Montréal, Maîtrise en informatique.

Fichier(s) associé(s) à ce document :
[img]
Prévisualisation
PDF
Télécharger (3MB)

Résumé

Une étape importante de la ré-ingénierie consiste à identifier des regroupements d’éléments de code qui implantent une fonctionnalité relativement cohésive et fréquemment utilisée, c’est à dire, des ’services’ potentiels. Pour l’identification de services, Mili et al. ont choisi de se contenter de l’analyse du code source de l’application. Pour ce faire, ils ont besoin de construire un graphe de dépendances du programme. La construction du graphe d’appels est lui-même problématique car les applications légataires Java utilisent un certain nombre de mécanismes (e.g. introspection, utilisation de fichiers de configurations) et de technologies (divers services offerts par les « conteneurs » ou serveurs d’applications J2EE) qui cachent certaines relations d’appel entre différentes parties du code de l’application, ce qui peut être en échec l’analyse statique du code, menant à des « graphes d’appels disjoints ». (Hecht et al., 2018) ont développé une technique pour spécifier ces dépendances cachées sous forme de règles, et d’appliquer ces règles sur le graphe d’appel généré par l’analyse statique, pour ajouter les dépendances cachées. Dans ce mémoire, notre objectif est de valider ces dépendances cachées (relations d’appel implicites) en s’appuyant sur des traces d’exécution de ces mêmes applications. Pour y parvenir, nous devons construire des graphes d’appels statiques et dynamiques et les comparer. Nous présentons les outils que nous avons créés pour construire des graphes d’appels. Nous avons également résolu certains problèmes afin d’avoir des graphes plus précis tels que le polymorphisme, les appels qui se trouvent dans les blocs statiques et d’initialisation, les modifications apportées par le compilateur ce qui peut rendre la comparaison plus difficile. _____________________________________________________________________________ MOTS-CLÉS DE L’AUTEUR : graphe d’appels, comparaison des graphes d’appels, validation des dépendances cachées

Type: Mémoire accepté
Informations complémentaires: Fichier numérique reçu et enrichi en format PDF/A.
Directeur de thèse: Mili, Hafedh
Mots-clés ou Sujets: Graphes d'appels / Migration
Unité d'appartenance: Faculté des sciences > Département d'informatique
Déposé par: Service des bibliothèques
Date de dépôt: 13 janv. 2025 11:22
Dernière modification: 13 janv. 2025 11:22
Adresse URL : http://archipel.uqam.ca/id/eprint/18186

Statistiques

Voir les statistiques sur cinq ans...