Automatic Quality Assessment of Source Code Comments: The JavadocMiner

Abstract

An important software engineering artefact used by developers and maintainers to assist in software comprehension and maintenance is source code documentation. It provides insights that help software engineers to effectively perform their tasks, and therefore ensuring the quality of the documentation is extremely important. Inline documentation is at the forefront of explaining a programmer's original intentions for a given implementation. Since this documentation is written in natural language, ensuring its quality needs to be performed manually. In this paper, we present an effective and automated approach for assessing the quality of inline documentation using a set of heuristics, targeting both quality of language and consistency between source code and its comments. We apply our tool to the different modules of two open source applications (ArgoUML and Eclipse), and correlate the results returned by the analysis with bug defects reported for the individual modules in order to determine connections between documentation and code quality.

Reference

Ninus Khamis, René Witte, and Juergen Rilling. Automatic Quality Assessment of Source Code Comments: The JavadocMiner. 15th International Conference on Applications of Natural Language to Information Systems (NLDB 2010), June 23–25, 2010, Cardiff, UK. Springer LNCS 6177, pp. 68–79. (Acceptance rate: 30%)

Bibtex entry (also for download):

@InProceedings{nldb2010b,
  author = 	 {Ninus Khamis and Ren\'{e} Witte and Juergen Rilling},
  title = 	 {{Automatic Quality Assessment of Source Code Comments: The JavadocMiner}},
  booktitle =	 {15th International Conference on Applications of Natural Language 
                  to Information Systems (NLDB 2010)},
  pages =	 {68--79},
  year =	 {2010},
  editor =	 {Christina J. Hopfe and Yacine Rezgui and Elisabeth M\'{e}tais 
                  and Alun D. Preece and Haijiang Li},
  number =	 {6177},
  series =	 {LNCS},
  address =	 {Cardiff, UK},
  month =	 {June 23--25},
  publisher =	 {Springer},
  note =	 {DOI: 10.1007/978-3-642-13881-2_7}
}

Download

Online version at SpringerLink.
Local copy: nldb2010-javadocminer.pdf
MD5 checksum: b4743750507ced159e3249e7ad6bc2e5

Copyright © 2010 Springer-Verlag. This is the author's version of the work. It is posted here by permission of Springer for your personal use. Not for redistribution. DOI: 10.1007/978-3-642-13881-2_7.