<  Retour au portail Polytechnique Montréal

A Heuristic-Based Approach to Locate Concepts in Execution Traces

Fatemeh Asadi

Mémoire de maîtrise (2010)

Document en libre accès dans PolyPublie
[img]
Affichage préliminaire
Libre accès au plein texte de ce document
Conditions d'utilisation: Tous droits réservés
Télécharger (1MB)
Afficher le résumé
Cacher le résumé

Résumé

ABSTRACT Maintenance is the last phase of software life cycle and plays an important role in the life cycle of a system. More than 50% of the cost of the whole life cycle belongs to the maintenance phase. One of the most challenging problem of software maintenance is program comprehension. Program comprehension is a crucial part of maintenance and is a major factor in providing effective software maintenance and enabling successful evolution of a software system. A common problem in understanding software systems is that software systems often lack an adequate documentation. Most of the time, the only available source to understand the program is the source code. Therefore, developers must resort to reading the system source code, without specific tool support but code browsers, to understand the systems and perform their maintenance and evolution tasks. Concept or feature location and identification aim at helping developers to perform their maintenance and evolution tasks, by identifying abstractions (i.e., features) and the location of the implementation of these abstractions. Specifically, they aim at identifying code fragments, i.e., set of method calls in traces and the related method declarations in the source code, responsible for the implementation of domain concepts and user-observable features. The literature reports approaches built upon static and dynamic analyses; Information Retrieval (IR) and hybrid (static and dynamic) techniques. This thesis proposes a novel approach to identify cohesive and decoupled fragments in execution traces, which likely participate in implementing concepts related to some features. The approach relies on search-based optimization techniques using metaheuristic algorithm, textual analysis of the system source code using latent semantic indexing, and trace compression techniques. The proposed approach is evaluated to identify features from execution traces of two open source systems from different domains, JHotDraw and ArgoUML. Results show that the approach is stable and is generally able to locate concepts with a high precision.

Abstract

ions et l'emplacement de l'implémentation de ces abstractions. Autrement dit, ils visent à identifier des fragments de code source, c'est à dire l'ensemble d'appels de méthodes dans des séquences d'instructions et les déclarations de ces méthodes dans le code source, responsables de la mise en oeuvre des concepts du domaine du logiciel et des caractéristiques observables par l'utilisateur. Dans la littérature il existe des approches d'analyse statique et dynamiquve ; Recherche Documentaire (Information Retrieval - IR) et des approches d'analyse hybride (statique et dynamique). Cette thèse propose une nouvelle approche pour identifier des fragments cohésifs et découplés dans des traces d'exécution, qui participent probablement à mettre en oeuvre les concepts liés à certaines fonctionnalités. L'approche repose sur des techniques optimisées pour la recherche en utilisant un algorithme de métaheuristiques, analyse textuelle du code source du logiciel en utilisant l'indexation sémantique latente et des techniques de compression de traces. Pour évaluer l'approche proposée, nous avons effectué une étude empirique en appliquant l'approche proposée sur deux logiciels libres, ArgoUML et JHotDraw. Les résultats ont montré que l'approche est stable, et, globalement, localise les concepts avec une précision élevée.

Département: Département de génie informatique et génie logiciel
Programme: Génie informatique
Directeurs ou directrices: Giuliano Antoniol
URL de PolyPublie: https://publications.polymtl.ca/337/
Université/École: École Polytechnique de Montréal
Date du dépôt: 29 nov. 2010 14:34
Dernière modification: 02 oct. 2024 06:59
Citer en APA 7: Asadi, F. (2010). A Heuristic-Based Approach to Locate Concepts in Execution Traces [Mémoire de maîtrise, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/337/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel

Afficher document Afficher document