<  Back to the Polytechnique Montréal portal

Automatic derivation of concepts based on the analysis of identifiers

Latifa Guerrouj

Technical Report (2010)

[img]
Preview
Published Version
Terms of Use: Tous droits réservés.
Download (709kB)
Cite this document: Guerrouj, L. (2010). Automatic derivation of concepts based on the analysis of identifiers (Technical Report n° EPM-RT-2010-09).
Show abstract Hide abstract

Abstract

The existing software engineering literature has empirically shown that a proper choice of identifiers influences software understandability and maintainability. Indeed, identifiers are developers’ main up-to-date source of information and guide their cognitive processes during program understanding when the high-level documentation is scarce or outdated and when the source code is not sufficiently commented. Deriving domain terms from identifiers using high-level and domain concepts is not an easy task when naming conventions (e.g., Camel Case) are not used or strictly followed and–or when these words have been abbreviated or otherwise transformed. Our thesis aims at developing a contextual approach that overcomes the shortcomings of the existing approaches and maps identifiers to domain concepts even in the absence of naming conventions and–or the presence of abbreviations. We also aim to take advantage of our approach to enhance the predictability of the overall system quality by using identifiers when assessing software quality. The key components of our approach are: dynamic time warping algorithm (DTW) used to recognize words in continuous speech, string-edit distance between terms and words as a proxy for the distance between the terms and the concepts they represent, plus words transformations rules attempting to mimic the cognitive processes of developers when composing identifiers with abbreviated forms. To validate our approach, we apply it to identifiers extracted from different open source applications to show that our method is able to provide a mapping of identifiers to domain terms, compare it with the two families of approaches that to the best of our knowledge, exist in the literature with respect to an oracle that we have manually built. We also enrich our technique by using domain knowledge and context-aware dictionaries to analyze how sensitive are the performances of our approach to the use of contextual information and specialized knowledge.

Uncontrolled Keywords

Identifier Splitting, Program Comprehension, Linguistic Analysis, Software Quality

Open Access document in PolyPublie
Subjects: 2700 Technologie de l'information > 2700 Technologie de l'information
2700 Technologie de l'information > 2705 Logiciels et développement
2700 Technologie de l'information > 2706 Génie logiciel
Department: Département de génie informatique et génie logiciel
Research Center: Non applicable
Date Deposited: 06 Oct 2017 14:07
Last Modified: 24 Oct 2018 16:12
PolyPublie URL: https://publications.polymtl.ca/2658/

Statistics

Total downloads

Downloads per month in the last year

Origin of downloads

Repository Staff Only