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

  • @sjbutler
  • @ericbouwers
  • @dblp
  • @derek-jones
@ericbouwers's tags highlighted