Improving the tokenisation of identifier names

  • Authors:
  • Simon Butler;Michel Wermelinger;Yijun Yu;Helen Sharp

  • Affiliations:
  • Computing Department and Centre for Research in Computing, The Open University, Milton Keynes, United Kingdom;Computing Department and Centre for Research in Computing, The Open University, Milton Keynes, United Kingdom;Computing Department and Centre for Research in Computing, The Open University, Milton Keynes, United Kingdom;Computing Department and Centre for Research in Computing, The Open University, Milton Keynes, United Kingdom

  • Venue:
  • Proceedings of the 25th European conference on Object-oriented programming
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Identifier names are the main vehicle for semantic information during program comprehension. Identifier names are tokenised into their semantic constituents by tools supporting program comprehension tasks, including concept location and requirements traceability. We present an approach to the automated tokenisation of identifier names that improves on existing techniques in two ways. First, it improves tokenisation accuracy for identifier names of a single case and those containing digits. Second, performance gains over existing techniques are achieved using smaller oracles. Accuracy was evaluated by comparing the output of our algorithm to manual tokenisations of 28,000 identifier names drawn from 60 open source Java projects totalling 16.5 MSLOC. We also undertook a study of the typographical features of identifier names (single case, use of digits, etc.) per object-oriented construct (class names, method names, etc.), thus providing an insight into naming conventions in industrial-scale object-oriented code. Our tokenisation tool and datasets are publicly available.