An investigation into the functional form of the size-defect relationship for software modules

A. G. Koru, Dongsong Zhang, Khaled El Emam, Hongfang D Liu

Research output: Contribution to journalArticle

83 Citations (Scopus)

Abstract

The importance of the relationship between size and defect proneness of software modules is well recognized. Understanding the nature of that relationship can facilitate various development decisions related to prioritization of quality assurance activities. Overall, the previous research only drew a general conclusion that there was a monotonically increasing relationship between module size and defect proneness. In this study, we analyzed class-level size and defect data in order to increase our understanding of this crucial relationship. In order to obtain validated and more generalizable results, we studied four large-scale object-oriented products, Mozilla, Cn3d, JBoss, and Eclipse. Our results consistently revealed a significant effect of size on defect proneness; however, contrary to common intuition, the size-defect relationship took a logarithmic form, indicating that smaller classes were proportionally more problematic than larger classes. Therefore, practitioners should consider giving higher priority to smaller modules when planning focused quality assurance activities with limited resources. For example, in Mozilla and Eclipse, an inspection strategy investing 80-25; of available resources on 100-LOC classes and the rest on 1,000-LOC classes would be more than twice as cost effective as the opposite strategy. These results should be immediately useful to guide focused quality assurance activities in large-scale software projects.

Original languageEnglish (US)
Pages (from-to)293-304
Number of pages12
JournalIEEE Transactions on Software Engineering
Volume35
Issue number2 SPEC. ISS.
DOIs
StatePublished - 2009
Externally publishedYes

Fingerprint

Defects
Quality assurance
Inspection
Planning
Costs

Keywords

  • Measurement applied to SQA and V&V
  • Open-source software
  • Planning for SQA and V&V
  • Product metrics
  • Size-defect relationship
  • Software science

ASJC Scopus subject areas

  • Software

Cite this

An investigation into the functional form of the size-defect relationship for software modules. / Koru, A. G.; Zhang, Dongsong; El Emam, Khaled; Liu, Hongfang D.

In: IEEE Transactions on Software Engineering, Vol. 35, No. 2 SPEC. ISS., 2009, p. 293-304.

Research output: Contribution to journalArticle

Koru, A. G. ; Zhang, Dongsong ; El Emam, Khaled ; Liu, Hongfang D. / An investigation into the functional form of the size-defect relationship for software modules. In: IEEE Transactions on Software Engineering. 2009 ; Vol. 35, No. 2 SPEC. ISS. pp. 293-304.
@article{cbb6a7c4825446068c3885a03e415327,
title = "An investigation into the functional form of the size-defect relationship for software modules",
abstract = "The importance of the relationship between size and defect proneness of software modules is well recognized. Understanding the nature of that relationship can facilitate various development decisions related to prioritization of quality assurance activities. Overall, the previous research only drew a general conclusion that there was a monotonically increasing relationship between module size and defect proneness. In this study, we analyzed class-level size and defect data in order to increase our understanding of this crucial relationship. In order to obtain validated and more generalizable results, we studied four large-scale object-oriented products, Mozilla, Cn3d, JBoss, and Eclipse. Our results consistently revealed a significant effect of size on defect proneness; however, contrary to common intuition, the size-defect relationship took a logarithmic form, indicating that smaller classes were proportionally more problematic than larger classes. Therefore, practitioners should consider giving higher priority to smaller modules when planning focused quality assurance activities with limited resources. For example, in Mozilla and Eclipse, an inspection strategy investing 80-25; of available resources on 100-LOC classes and the rest on 1,000-LOC classes would be more than twice as cost effective as the opposite strategy. These results should be immediately useful to guide focused quality assurance activities in large-scale software projects.",
keywords = "Measurement applied to SQA and V&V, Open-source software, Planning for SQA and V&V, Product metrics, Size-defect relationship, Software science",
author = "Koru, {A. G.} and Dongsong Zhang and {El Emam}, Khaled and Liu, {Hongfang D}",
year = "2009",
doi = "10.1109/TSE.2008.90",
language = "English (US)",
volume = "35",
pages = "293--304",
journal = "IEEE Transactions on Software Engineering",
issn = "0098-5589",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
number = "2 SPEC. ISS.",

}

TY - JOUR

T1 - An investigation into the functional form of the size-defect relationship for software modules

AU - Koru, A. G.

AU - Zhang, Dongsong

AU - El Emam, Khaled

AU - Liu, Hongfang D

PY - 2009

Y1 - 2009

N2 - The importance of the relationship between size and defect proneness of software modules is well recognized. Understanding the nature of that relationship can facilitate various development decisions related to prioritization of quality assurance activities. Overall, the previous research only drew a general conclusion that there was a monotonically increasing relationship between module size and defect proneness. In this study, we analyzed class-level size and defect data in order to increase our understanding of this crucial relationship. In order to obtain validated and more generalizable results, we studied four large-scale object-oriented products, Mozilla, Cn3d, JBoss, and Eclipse. Our results consistently revealed a significant effect of size on defect proneness; however, contrary to common intuition, the size-defect relationship took a logarithmic form, indicating that smaller classes were proportionally more problematic than larger classes. Therefore, practitioners should consider giving higher priority to smaller modules when planning focused quality assurance activities with limited resources. For example, in Mozilla and Eclipse, an inspection strategy investing 80-25; of available resources on 100-LOC classes and the rest on 1,000-LOC classes would be more than twice as cost effective as the opposite strategy. These results should be immediately useful to guide focused quality assurance activities in large-scale software projects.

AB - The importance of the relationship between size and defect proneness of software modules is well recognized. Understanding the nature of that relationship can facilitate various development decisions related to prioritization of quality assurance activities. Overall, the previous research only drew a general conclusion that there was a monotonically increasing relationship between module size and defect proneness. In this study, we analyzed class-level size and defect data in order to increase our understanding of this crucial relationship. In order to obtain validated and more generalizable results, we studied four large-scale object-oriented products, Mozilla, Cn3d, JBoss, and Eclipse. Our results consistently revealed a significant effect of size on defect proneness; however, contrary to common intuition, the size-defect relationship took a logarithmic form, indicating that smaller classes were proportionally more problematic than larger classes. Therefore, practitioners should consider giving higher priority to smaller modules when planning focused quality assurance activities with limited resources. For example, in Mozilla and Eclipse, an inspection strategy investing 80-25; of available resources on 100-LOC classes and the rest on 1,000-LOC classes would be more than twice as cost effective as the opposite strategy. These results should be immediately useful to guide focused quality assurance activities in large-scale software projects.

KW - Measurement applied to SQA and V&V

KW - Open-source software

KW - Planning for SQA and V&V

KW - Product metrics

KW - Size-defect relationship

KW - Software science

UR - http://www.scopus.com/inward/record.url?scp=67349212116&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=67349212116&partnerID=8YFLogxK

U2 - 10.1109/TSE.2008.90

DO - 10.1109/TSE.2008.90

M3 - Article

VL - 35

SP - 293

EP - 304

JO - IEEE Transactions on Software Engineering

JF - IEEE Transactions on Software Engineering

SN - 0098-5589

IS - 2 SPEC. ISS.

ER -