Abstract
The identifiers chosen by programmers as function names contain valuable information. They are often the starting point for program understanding activities, especially when high-level views, like the call graph, are available. In this paper, the lexical, syntactic and semantic structure of function identifiers is analyzed by means of a segmentation technique, a regular language and a conceptual classification. The application of these analyses to a database of procedural programs suggests some potential uses of the results, ranging from support for program understanding to the evolution towards standard and more maintainable forms of programs
Description
Introducing a grammar for the language of identifiers. Results of several different experiments are reported: segmentation, frequencies of letters, identifier separation, lexical types, parsing and concept analysis.
Several different application area's are mentioned:
1) forward engineering, help in choosing identifiers
2) reverse engineering, restructure identifiers of a program
3) re-documenting an existing source
4) traceability improvement
5) migration support (towards oo)
6) dictionary based reverse engineering tools
Links and resources
Tags
community