Skip to main content
Article thumbnail
Location of Repository

Cyclomatic Complexity and Lines of Code: Empirical Evidence of a Stable Linear Relationship

By Graylin JAY, Joanne E. HALE, Randy K. SMITH, David HALE, Nicholas A. KRAFT and Charles WARD

Abstract

Researchers have often commented on the high correlation between McCabe’s Cyclomatic Complexity (CC) and lines of code (LOC). Many have believed this correlation high enough to justify adjusting CC by LOC or even substituting LOC for CC. However, from an empirical standpoint the relationship of CC to LOC is still an open one. We undertake the largest statistical study of this relationship to date. Employing modern regression techniques, we find the linearity of this relationship has been severely underestimated, so much so that CC can be said to have absolutely no explana-tory power of its own. This research presents evidence that LOC and CC have a stable practically perfect linear rela-tionship that holds across programmers, languages, code paradigms (procedural versus object-oriented), and software processes. Linear models are developed relating LOC and CC. These models are verified against over 1.2 million randomly selected source files from the SourceForge code repository. These files represent software projects from three target languages (C, C++, and Java) and a variety of programmer experience levels, software architectures, and de-velopment methodologies. The models developed are found to successfully predict roughly 90% of CC’s variance by LOC alone. This suggest not only that the linear relationship between LOC and CC is stable, but the aspects of code complexity that CC measures, such as the size of the test case space, grow linearly with source code size across lan-guages and programming paradigms

Topics: Software Complexity, Software Metrics, Cyclomatic Complexity, LCC:Electronic computers. Computer science, LCC:QA75.5-76.95, LCC:Instruments and machines, LCC:QA71-90, LCC:Mathematics, LCC:QA1-939, LCC:Science, LCC:Q, DOAJ:Computer Science, DOAJ:Technology and Engineering
Publisher: Scientific Research Publishing
Year: 2009
DOI identifier: 10.4236/jsea.2009.23020
OAI identifier: oai:doaj.org/article:2aea5f8a3a484107bde8773523a10aeb
Journal:
Download PDF:
Sorry, we are unable to provide the full text but you may find it at the following location(s):
  • http://doaj.org/search?source=... (external link)
  • Suggested articles


    To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.