Technical Report (2010)
Open Acess document in PolyPublie and at official publisher |
|
Open Access to the full text of this document Published Version Terms of Use: Tous droits réservés Download (705kB) |
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
Subjects: |
2700 Information technology > 2700 Information technology 2700 Information technology > 2705 Software and development 2700 Information technology > 2706 Software engineering |
---|---|
Department: | Department of Computer Engineering and Software Engineering |
PolyPublie URL: | https://publications.polymtl.ca/2658/ |
Report number: | EPM-RT-2010-09 |
Date Deposited: | 06 Oct 2017 14:07 |
Last Modified: | 25 Sep 2024 19:08 |
Cite in APA 7: | Guerrouj, L. (2010). Automatic derivation of concepts based on the analysis of identifiers. (Technical Report n° EPM-RT-2010-09). https://publications.polymtl.ca/2658/ |
---|---|
Statistics
Total downloads
Downloads per month in the last year
Origin of downloads