Analysing Java Identifier Names in the Wild

Identifier names represent the entities manipulated by a computer program and the actions performed on them and are crucial to program comprehension. This research aims to improve understanding of the forms of identifier name created by software developers and advances techniques for analysing names that can also be applied to improve software engineering tools.

[1]  Jeremy Singer,et al.  Exploiting the Correspondence between Micro Patterns and Class Names , 2008, 2008 Eighth IEEE International Working Conference on Source Code Analysis and Manipulation.

[2]  Scott W. Ambler,et al.  The Elements of Java™ Style: Index , 2000 .

[3]  Yijun Yu,et al.  A Survey of the Forms of Java Reference Names , 2015, 2015 IEEE 23rd International Conference on Program Comprehension.

[4]  Einar W. Høst,et al.  Debugging Method Names , 2009, ECOOP.

[5]  Michel Wermelinger,et al.  Relating developers' concepts and artefact vocabulary in a financial software module , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[6]  Jeffrey C. Carver,et al.  Part-of-speech tagging of program identifiers for improved text-based software engineering tools , 2013, 2013 21st International Conference on Program Comprehension (ICPC).

[7]  Emily Hill,et al.  Mining source code to automatically split identifiers for software analysis , 2009, 2009 6th IEEE International Working Conference on Mining Software Repositories.

[8]  Paolo Tonella,et al.  Natural Language Parsing of Program Element Names for Concept Extraction , 2010, 2010 IEEE 18th International Conference on Program Comprehension.

[9]  Einar W. Høst,et al.  The Java Programmer's Phrase Book , 2009, SLE.

[10]  Clémentine Nebut,et al.  Automatic Extraction of a WordNet-Like Identifier Network from Software , 2010, 2010 IEEE 18th International Conference on Program Comprehension.

[11]  Daniel Petrica Ratiu,et al.  Intentional meaning of programs , 2009 .

[12]  Yann-Gaël Guéhéneuc,et al.  TIDIER: an identifier splitting approach using speech recognition techniques , 2013, J. Softw. Evol. Process..

[13]  Paolo Tonella,et al.  Restructuring program identifier names , 2000, Proceedings 2000 International Conference on Software Maintenance.

[14]  Guy L. Steele,et al.  The Java Language Specification, Java SE 8 Edition , 2013 .

[15]  Emily Hill,et al.  AMAP: automatically mining abbreviation expansions in programs to enhance software maintenance tools , 2008, MSR '08.

[16]  Lori Pollock,et al.  Integrating natural language and program structure information to improve software search and exploration , 2010 .

[17]  Andrew Begel,et al.  Cognitive Perspectives on the Role of Naming in Computer Programs , 2006, PPIG.

[18]  Denys Poshyvanyk,et al.  The conceptual cohesion of classes , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[19]  Jan Nonnen,et al.  Locating the Meaning of Terms in Source Code Research on "Term Introduction" , 2011, 2011 18th Working Conference on Reverse Engineering.

[20]  Dawn J Lawrie,et al.  AN EMPIRICAL COMPARISON OF TECHNIQUES FOR EXTRACTING CONCEPT ABBREVIATIONS FROM IDENTIFIERS , 2006 .

[21]  Yijun Yu,et al.  Mining java class naming conventions , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[22]  Giuliano Antoniol,et al.  Recovering Traceability Links between Code and Documentation , 2002, IEEE Trans. Software Eng..

[23]  Norman Wilde,et al.  The role of concepts in program comprehension , 2002, Proceedings 10th International Workshop on Program Comprehension.

[24]  Yijun Yu,et al.  INVocD: Identifier name vocabulary dataset , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[25]  Yijun Yu,et al.  Investigating naming convention adherence in Java references , 2015, 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[26]  Yijun Yu,et al.  Improving the Tokenisation of Identifier Names , 2011, ECOOP.