Mining java class naming conventions

Class names represent the concepts implemented in object-oriented source code and are key elements in program comprehension and, thus, software maintenance. Programming conventions often state that class names should be noun-phrases, but there is little further guidance for developers on the composition of class names. Other researchers have observed that the majority of Java class identifier names are composed of one or more nouns preceded, optionally, by one or more adjectives. However, no detailed analysis of class identifier name structure has been undertaken that could be leveraged to support program comprehension activities.

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

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

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

[4]  David W. Binkley,et al.  An empirical study of rules for well-formed identifiers , 2007, J. Softw. Maintenance Res. Pract..

[5]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

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

[7]  Scott W. Ambler,et al.  The Elements of Java Style , 2000 .

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

[9]  Yijun Yu,et al.  Exploring the Influence of Identifier Names on Code Quality: An Empirical Study , 2010, 2010 14th European Conference on Software Maintenance and Reengineering.

[10]  Paolo Tonella,et al.  Lexicon Bad Smells in Software , 2009, 2009 16th Working Conference on Reverse Engineering.

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

[12]  Markus Pizka,et al.  Concise and consistent naming , 2005, 13th International Workshop on Program Comprehension (IWPC'05).

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

[14]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[15]  Paolo Tonella,et al.  Nomen est omen: analyzing the language of function identifiers , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[16]  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.

[17]  Markus Pizka,et al.  Concise and Consistent Naming , 2005, IWPC.

[18]  Kent Beck Implementation Patterns , 2007 .

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

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

[21]  Itay Maman,et al.  Micro patterns in Java code , 2005, OOPSLA '05.