Module size distribution and defect density

Data from several projects show a significant relationship between the size of a module and its defect density. We address implications of this observation. Does the overall defect density of a software project vary with its module size distribution? Even more interesting is the question can we exploit this dependence to reduce the total number of defects? We examine the available data sets and propose a model relating module size and defect density. It takes into account defects that arise due to the interconnections among the modules as well as defects that occur due to the complexity of individual modules. Model parameters are estimated using actual data. We then present a key observation that allows use of this model for not just estimation of the defect density, but also potentially optimizing a design to minimize defects. This observation, supported by several data sets examined, is that the module sizes often follow exponential distribution. We show how the two models used together provide a way of projecting defect density variation. We also consider the possibility of minimizing the defect density by controlling module size distribution.

[1]  TakahashiMuneo,et al.  An Empirical Study of a Model for Program Error Prediction , 1989 .

[2]  Yashwant K. Malaiya,et al.  ROBUST: a next generation software reliability engineering tool , 1995, Proceedings of Sixth International Symposium on Software Reliability Engineering. ISSRE'95.

[3]  John D. Musa,et al.  Software Reliability Engineering , 1998 .

[4]  Robert B. Grady,et al.  Practical Software Metrics for Project Management and Process Improvement , 1992 .

[5]  John D. Musa,et al.  Software-Reliability-Engineered Testing , 1996, Computer.

[6]  Mladen A. Vouk Software Reliability Engineering , 1999 .

[7]  Muneo Takahashi,et al.  An empirical study of a model for program error prediction , 1985, ICSE '85.

[8]  Norman E. Fenton,et al.  Quantitative Analysis of Faults and Failures in a Complex Software System , 2000, IEEE Trans. Software Eng..

[9]  Carol Withrow,et al.  Error density and size in Ada software , 1990, IEEE Software.

[10]  John C. Munson,et al.  Software metrics in reliability assessment , 1996 .

[11]  Rajiv D. Banker,et al.  Scale Economies in New Software Development , 2013, IEEE Transactions on Software Engineering.

[12]  Tze-Jie Yu,et al.  Identifying Error-Prone Software—An Empirical Study , 1985, IEEE Transactions on Software Engineering.

[13]  Les Hatton,et al.  Reexamining the Fault Density-Component Size Connection , 1997, IEEE Softw..

[14]  Jarrett Rosenberg,et al.  Some misconceptions about lines of code , 1997, Proceedings Fourth International Software Metrics Symposium.

[15]  Yashwant K. Malaiya,et al.  Requirements volatility and defect density , 1999, Proceedings 10th International Symposium on Software Reliability Engineering (Cat. No.PR00443).

[16]  Victor R. Basili,et al.  Software errors and complexity: an empirical investigation0 , 1984, CACM.

[17]  William Farr,et al.  Software reliability modeling survey , 1996 .

[18]  Yashwant K. Malaiya,et al.  What do the software reliability growth model parameters represent? , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[19]  Eugene Miya,et al.  On "Software engineering" , 1985, SOEN.