A Heuristic-Based Approach to Locate Concepts in Execution Traces

Fatemeh Asadi

Mémoire de maîtrise (2010)

Accéder à ce document
Disponible
Libre accès au texte intégral dans PolyPublie
Texte Texte • 1MB •

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.

Programme:
Génie informatique
Directeurs ou directrices:
Adresse URL de PolyPublie:
Université/École:
École Polytechnique de Montréal
OAI:
oai:publications.polymtl.ca:337
ORCID
Date du dépôt:
29 nov. 2010 14:34
Dernière modification:
14 oct. 2026 10:35
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