Recognizing Words from Source Code Identifiers using Speech Recognition Techniques. Madani, N., Guerrouj, L., Di Penta, M., Gu�h�neuc, Y., & Antoniol, G. In Ferenc, R. & Due�as, J. C., editors, Proceedings of the 14<sup>th</sup> European Conference on Software Maintenance and Reengineering (CSMR), pages 68–77, March, 2010. IEEE CS Press. 10 pages. \awardBest paper.
Paper abstract bibtex The existing software engineering literature has empirically shown that a proper choice of identifiers influences software understandability and maintainability. Researchers have noticed that identifiers are one of the most important source of information about program entities and that the semantic of identifiers guide the cognitive process. Recognizing the words forming identifiers is not an easy task when naming conventions (\eg Camel Case) are not used or strictly followed and–or when these words have been abbreviated or otherwise transformed. This paper proposes a technique inspired from speech recognition, ıe dynamic time warping, to split identifiers into component words. The proposed technique has been applied to identifiers extracted from two different applications: JHotDraw and Lynx. Results compared to manually-built oracles and with Camel Case algorithm are encouraging. In fact, they show that the technique successfully recognize words composing identifiers (even when abbreviated) in about 90\NOof cases and that it performs better than Camel Case. Furthermore, it was able to spot mistakes in the manually-built oracle.
@INPROCEEDINGS{Madani10-CSMR-IdentifiersSpeechRecognition,
AUTHOR = {Nioosha Madani and Latifa Guerrouj and
Di Penta, Massimiliano and Yann-Ga�l Gu�h�neuc and Giuliano Antoniol},
BOOKTITLE = {Proceedings of the 14<sup>th</sup> European Conference on Software Maintenance and Reengineering (CSMR)},
TITLE = {Recognizing Words from Source Code Identifiers using
Speech Recognition Techniques},
YEAR = {2010},
OPTADDRESS = {},
OPTCROSSREF = {},
EDITOR = {Rudolf Ferenc and Juan Carlos Due�as},
MONTH = {March},
NOTE = {10 pages. \awardBest paper.},
OPTNUMBER = {},
OPTORGANIZATION = {},
PAGES = {68--77},
PUBLISHER = {IEEE CS Press},
OPTSERIES = {},
OPTVOLUME = {},
KEYWORDS = {Topic: <b>Identifier analysis</b>, Venue: <c>CSMR</c>},
URL = {http://www.ptidej.net/publications/documents/CSMR10c.doc.pdf},
PDF = {http://www.ptidej.net/publications/documents/CSMR10c.ppt.pdf},
ABSTRACT = {The existing software engineering literature has
empirically shown that a proper choice of identifiers influences
software understandability and maintainability. Researchers have
noticed that identifiers are one of the most important source of
information about program entities and that the semantic of
identifiers guide the cognitive process. Recognizing the words
forming identifiers is not an easy task when naming conventions
(\eg{} Camel Case) are not used or strictly followed and--or when
these words have been abbreviated or otherwise transformed. This
paper proposes a technique inspired from speech recognition, \ie{}
dynamic time warping, to split identifiers into component words. The
proposed technique has been applied to identifiers extracted from two
different applications: JHotDraw and Lynx. Results compared to
manually-built oracles and with Camel Case algorithm are encouraging.
In fact, they show that the technique successfully recognize words
composing identifiers (even when abbreviated) in about 90\NOof cases
and that it performs better than Camel Case. Furthermore, it was able
to spot mistakes in the manually-built oracle.}
}