TIDIER: An Identifier Splitting Approach using Speech Recognition Techniques. Guerrouj, L., Di Penta, M., Antoniol, G., & Gu�h�neuc, Y. Journal of Software Maintenance and Evolution: Research and Practice (JSME), 25(6):575–599, Wiley, June, 2011. 24 pages.
TIDIER: An Identifier Splitting Approach using Speech Recognition Techniques [pdf]Paper  abstract   bibtex   
The software engineering literature reports empirical evidence on the relation between various characteristics of a software system and software quality. Among many factors, recent studies have shown that a proper choice of identifiers influences software understandability and maintainability. Indeed, identifiers are developers' main source of information and guide their cognitive processes during program understanding when high-level documentation is scarce or outdated and when source code is not sufficiently commented. This paper proposes a novel approach to recognize words composing source code identifiers. The approach is based on an adaptation of Dynamic Time Warping used to recognize words in continuous speech. The approach overcomes the limitations of existing identifier splitting approaches when naming conventions (\eg Camel Case) are not used or when identifiers contain abbreviations. The proposed approach has been applied on a sample of more than 1,000 identifiers extracted from 340 C programs and compared with a simple Camel Case splitter and with an implementation of an alternative identifier splitting approach, Samurai. Results indicate the capability of the novel approach (i) to outperform the alternative ones when a dictionary augmented with domain knowledge or a contextual dictionary are used and (ii) to expand 48% of a set of selected abbreviations into dictionary words.

Downloads: 0