Defect proneness estimation and feedback approach for software design quality improvement

Context: Modern software engineering demands professionals and researchers to proactively and collectively work towards exploring and experimenting viable and valuable mechanisms in order to extract all kinds of degenerative bugs, security holes, and possible deviations at the initial stage. Having understood the real need here, we have introduced a novel methodology for the estimation of defect proneness of class structures in object oriented (OO) software systems at design stage. Objective: The objective of this work is to develop an estimation model that provides significant assessment of defect proneness of object oriented software packages at design phase of SDLC. This frame work enhances the efficiency of SDLC through design quality improvement. Method: This involves a data driven methodology which is based on the empirical study of the relationship existing between design parameters and defect proneness. In the first phase, a mapping of the relationship between the design metrics and normal occurrence pattern of defects are carried out. This is represented as a set of non linear multifunctional regression equations which reflects the influence of individual design metrics on defect proneness. The defect proneness estimation model is then generated by weighted linear combination of these multifunctional regression equations. The weighted coefficients are evaluated through GQM (Goal Question Metric) paradigm. Results: The model evaluation and validation is carried out with a selected set of cases which is found to be promising. The current study is successfully dealt with three projects and it opens up the opportunity to extend this to a wide range of projects across industries. Conclusion: The defect proneness estimation at design stage facilitates an effective feedback to the design architect and enabling him to identify and reduce the number of defects in the modules appropriately. This results in a considerable improvement in software design leading to cost effective products.

[1]  Jun Han,et al.  Supporting impact analysis and change propagation in software engineering environments , 1997, Proceedings Eighth IEEE International Workshop on Software Technology and Engineering Practice incorporating Computer Aided Software Engineering.

[2]  Pankaj Jalote,et al.  Effect of object orientation on maintainability of software , 1997, 1997 Proceedings International Conference on Software Maintenance.

[3]  Carl G. Davis,et al.  A Hierarchical Model for Object-Oriented Design Quality Assessment , 2002, IEEE Trans. Software Eng..

[4]  M. S. Krishnan,et al.  An Empirical Analysis of Productivity and Quality in Software Products , 2000 .

[5]  Mario Piattini,et al.  Quantitative Approaches in Object-Oriented Software Engineering , 1999, ECOOP Workshops.

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

[7]  Linda H. Rosenberg,et al.  Software Quality Metrics for Object-Oriented Environments , 2002 .

[8]  T. R. Gopalakrishnan Nair,et al.  Estimation of software reusability: an engineering approach , 2010, SOEN.

[9]  Jana Polgar,et al.  Object-Oriented Software Metrics , 2005, Encyclopedia of Information Science and Technology.

[10]  Chris F. Kemerer,et al.  Towards a metrics suite for object oriented design , 2017, OOPSLA '91.

[11]  Taghi M. Khoshgoftaar,et al.  Uncertain Classification of Fault-Prone Software Modules , 2002, Empirical Software Engineering.

[12]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[13]  R. W. Selby,et al.  Empirically analyzing software Reuse in a production environment , 1988 .

[14]  David Chenho Kung,et al.  Change impact identification in object oriented software maintenance , 1994, Proceedings 1994 International Conference on Software Maintenance.

[15]  G. Denaro,et al.  An empirical evaluation of fault-proneness models , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[16]  M. Delgado,et al.  A regression methodology to induce a fuzzy model , 2001 .

[17]  R. Selvarani,et al.  Software Reusability Estimation Model Using Metrics Governing Design Architecture , 2011 .

[18]  Ramanath Subramanyam,et al.  Empirical Analysis of CK Metrics for Object-Oriented Design Complexity: Implications for Software Defects , 2003, IEEE Trans. Software Eng..

[19]  Adam C. Marshall,et al.  A relationship between software coverage metrics and reliability , 1994, Softw. Test. Verification Reliab..

[20]  Hongfang Liu,et al.  Modeling the Effect of Size on Defect Proneness for Open-Source Software , 2007, ICSE 2007.

[21]  Khaled El Emam,et al.  The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics , 2001, IEEE Trans. Software Eng..

[22]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[23]  William M. Evanco,et al.  Projecting Software Defects From Analyzing Ada Designs , 1992, IEEE Trans. Software Eng..

[24]  Anand V. Hudli,et al.  Software metrics for object-oriented designs , 1994, Proceedings 1994 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[25]  David P. Darcy,et al.  Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis , 1998, IEEE Trans. Software Eng..

[26]  A. Maule,et al.  Impact analysis of database schema changes , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[27]  Michele Marchesi OOA metrics for the Unified Modeling Language , 1998, Proceedings of the Second Euromicro Conference on Software Maintenance and Reengineering.

[28]  Gerry Coleman,et al.  Investigating software measures to improve product reliability , 2002, SAC '02.

[29]  Mei-Hwa Chen,et al.  An empirical study on object-oriented metrics , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

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

[31]  Witold Pedrycz,et al.  Identification of defect-prone classes in telecommunication software systems using design metrics , 2006, Inf. Sci..

[32]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[33]  Shari Lawrence Pfleeger,et al.  Towards a Framework for Software Measurement Validation , 1995, IEEE Trans. Software Eng..

[34]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .

[35]  Sandro Morasca,et al.  Response to: Comments on "Property-Based Software Engineering Measurement: Refining the Additivity Properties" , 1997, IEEE Trans. Software Eng..

[36]  Sandro Morasca,et al.  Property-Based Software Engineering Measurement , 1996, IEEE Trans. Software Eng..

[37]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[38]  Fumio Akiyama,et al.  An Example of Software System Debugging , 1971, IFIP Congress.

[39]  Leonard J. Bass,et al.  Scenario-Based Analysis of Software Architecture , 1996, IEEE Softw..

[40]  Geert Poels,et al.  Distance-based software measurement: necessary and sufficient properties for software measures , 2000, Inf. Softw. Technol..

[41]  Sandro Morasca,et al.  Towards Industrially Relevant Fault-Proneness Models , 2003, Int. J. Softw. Eng. Knowl. Eng..

[42]  Hongfang Liu,et al.  Effect of Coupling on Defect Proneness in Evolutionary Open-Source Software Development , 2007, OSS.

[43]  Joanne Bechta Dugan,et al.  Empirical Analysis of Software Fault Content and Fault Proneness Using Bayesian Methods , 2007, IEEE Transactions on Software Engineering.

[44]  T. R. Gopalakrishnan Nair,et al.  Estimation of Defect Proneness Using Design Complexity Measurements in Object-Oriented Software , 2009, 2009 International Conference on Signal Processing Systems.

[45]  Victor R. Basili,et al.  A Validation of Object-Oriented Design Metrics as Quality Indicators , 1996, IEEE Trans. Software Eng..

[46]  Barbara A. Kitchenham,et al.  An evaluation of some design metrics , 1990, Softw. Eng. J..

[47]  Li Li,et al.  Algorithmic analysis of the impact of changes to object-oriented software , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[48]  Tibor Gyimóthy,et al.  Using information retrieval based coupling measures for impact analysis , 2009, Empirical Software Engineering.