Given the importance of identifier names and the value of naming conventions
to program comprehension, we speculated in previous work whether
a connection exists between the quality of identifier names and software
quality. We found that flawed identifiers in Java classes were associated
with source code found to be of low quality by static analysis. This
paper extends that work in three directions. First, we show that
the association also holds at the finer granularity level of Java
methods. This in turn makes it possible to, secondly, apply existing
method-level quality and readability metrics, and see that flawed
identifiers still impact on this richer notion of code quality and
comprehension. Third, we check whether the association can be used
in a practical way. We adopt techniques used to evaluate medical
diagnostic tests in order to identify which particular identifier
naming flaws could be used as a light-weight diagnostic of potentially
problematic Java sourcecode for maintenance.
%0 Conference Paper
%1 butler10csmr
%A Butler, Simon
%A Wermelinger, Michel
%A Yu, Yijun
%A Sharp, Helen
%B Proc. 14th European Conf. on Software Maintenance and Reengineering
%D 2010
%I IEEE
%K empirical identifier software_quality
%T Exploring the Influence of Identifier Names on Code Quality: an empirical
study
%U http://oro.open.ac.uk/19224/
%X Given the importance of identifier names and the value of naming conventions
to program comprehension, we speculated in previous work whether
a connection exists between the quality of identifier names and software
quality. We found that flawed identifiers in Java classes were associated
with source code found to be of low quality by static analysis. This
paper extends that work in three directions. First, we show that
the association also holds at the finer granularity level of Java
methods. This in turn makes it possible to, secondly, apply existing
method-level quality and readability metrics, and see that flawed
identifiers still impact on this richer notion of code quality and
comprehension. Third, we check whether the association can be used
in a practical way. We adopt techniques used to evaluate medical
diagnostic tests in order to identify which particular identifier
naming flaws could be used as a light-weight diagnostic of potentially
problematic Java sourcecode for maintenance.
@inproceedings{butler10csmr,
abstract = {Given the importance of identifier names and the value of naming conventions
to program comprehension, we speculated in previous work whether
a connection exists between the quality of identifier names and software
quality. We found that flawed identifiers in Java classes were associated
with source code found to be of low quality by static analysis. This
paper extends that work in three directions. First, we show that
the association also holds at the finer granularity level of Java
methods. This in turn makes it possible to, secondly, apply existing
method-level quality and readability metrics, and see that flawed
identifiers still impact on this richer notion of code quality and
comprehension. Third, we check whether the association can be used
in a practical way. We adopt techniques used to evaluate medical
diagnostic tests in order to identify which particular identifier
naming flaws could be used as a light-weight diagnostic of potentially
problematic Java sourcecode for maintenance.},
added-at = {2010-03-04T10:16:54.000+0100},
author = {Butler, Simon and Wermelinger, Michel and Yu, Yijun and Sharp, Helen},
biburl = {https://www.bibsonomy.org/bibtex/2b1010c6d9b54dbe49bfd8379a24b7809/ericbouwers},
booktitle = {Proc. 14th European Conf. on Software Maintenance and Reengineering},
interhash = {fc4093dc0ee7149653b14ffff122636f},
intrahash = {b1010c6d9b54dbe49bfd8379a24b7809},
keywords = {empirical identifier software_quality},
location = {Madrid, Spain},
month = {March},
pdf = {http://oro.open.ac.uk/19224/1/getPDF.pdf},
publisher = {IEEE},
timestamp = {2010-03-04T10:16:54.000+0100},
title = {Exploring the Influence of Identifier Names on Code Quality: an empirical
study},
url = {http://oro.open.ac.uk/19224/},
year = 2010
}