Software understanding: Automatic classification of software identifiers

Pattaraporn Warintarawej 1 Anne Laurent 2 Marianne Huchard 3 Mathieu Lafourcade 4 Pierre Pompidor 1
1 ADVANSE - ADVanced Analytics for data SciencE
LIRMM - Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier
2 FADO - Fuzziness, Alignments, Data & Ontologies
LIRMM - Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier
3 MAREL - Models And Reuse Engineering, Languages
LIRMM - Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier
4 TEXTE - Exploration et exploitation de données textuelles
LIRMM - Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier
Abstract : Identifier names (e.g., packages, classes, methods, variables) are one of most important software comprehension sources. Identifier names need to be analyzed in order to support collaborative software engineering and to reuse source codes. Indeed, they convey domain concept of softwares. For instance, ''getMinimumSupport'' would be associated with association rule concept in data mining softwares, while some are difficult to recognize such as the case of mixing parts of words (e.g., ''initFeatSet''). We thus propose methods for assisting automatic software understanding by classifying identifier names into domain concept categories. An innovative solution based on data mining algorithms is proposed. Our approach aims to learn character patterns of identifier names. The main challenges are (1) to automatically split identifier names into relevant constituent subnames (2) to build a model associating such a set of subnames to predefined domain concepts. For this purpose, we propose a novel manner for splitting such identifiers into their constituent words and use N-grams based text classification to predict the related domain concept. In this article, we report the theoretical method and the algorithms we propose, together with the experiments run on real software source codes that show the interest of our approach.
Document type :
Journal articles
Complete list of metadatas

Cited literature [28 references]  Display  Hide  Download

https://hal-lirmm.ccsd.cnrs.fr/lirmm-00834051
Contributor : Pierre Pompidor <>
Submitted on : Friday, June 14, 2013 - 9:19:15 AM
Last modification on : Thursday, March 7, 2019 - 8:45:08 AM
Long-term archiving on : Sunday, September 15, 2013 - 4:10:11 AM

File

Software_Understanding.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

Pattaraporn Warintarawej, Anne Laurent, Marianne Huchard, Mathieu Lafourcade, Pierre Pompidor. Software understanding: Automatic classification of software identifiers. Intelligent Data Analysis, IOS Press, 2015, 19 (4), pp.761-778. ⟨10.3233/IDA-150744⟩. ⟨lirmm-00834051⟩

Share

Metrics

Record views

1016

Files downloads

824