Estimating software readiness using predictive models

In this study, defect tracking is used as a proxy method to predict software readiness. The number of remaining defects in an application under development is one of the most important factors that allow one to decide if a piece of software is ready to be released. By comparing predicted number of faults and number of faults discovered in testing, software manager can decide whether the software is likely ready to be released or not. The predictive model developed in this research can predict: (i) the number of faults (defects) likely to exist, (ii) the estimated number of code changes required to correct a fault and (iii) the estimated amount of time (in minutes) needed to make the changes in respective classes of the application. The model uses product metrics as independent variables to do predictions. These metrics are selected depending on the nature of source code with regards to architecture layers, types of faults and contribution factors of these metrics. The use of neural network model with genetic training strategy is introduced to improve prediction results for estimating software readiness in this study. This genetic-net combines a genetic algorithm with a statistical estimator to produce a model which also shows the usefulness of inputs. The model is divided into three parts: (1) prediction model for presentation logic tier (2) prediction model for business tier and (3) prediction model for data access tier. Existing object-oriented metrics and complexity software metrics are used in the business tier prediction model. New sets of metrics have been proposed for the presentation logic tier and data access tier. These metrics are validated using data extracted from real world applications. The trained models can be used as tools to assist software mangers in making software release decisions.

[1]  Abhijit S. Pandya,et al.  A neural network approach for predicting software development faults , 1992, [1992] Proceedings Third International Symposium on Software Reliability Engineering.

[2]  Yashwant K. Malaiya,et al.  Estimating the Number of Residual Defects , 1998 .

[3]  Donald F. Specht,et al.  A general regression neural network , 1991, IEEE Trans. Neural Networks.

[4]  Enrique Alba,et al.  Software project management with GAs , 2007, Inf. Sci..

[5]  Taghi M. Khoshgoftaar,et al.  Application of neural networks to software quality modeling of a very large telecommunications system , 1997, IEEE Trans. Neural Networks.

[6]  Woo Hyong Lee,et al.  An integrated dynamic memory tracing tool for C++ , 2003, Inf. Sci..

[7]  Thomas Bräunl,et al.  Population variation in genetic programming , 2007, Inf. Sci..

[8]  Lionel C. Briand,et al.  Exploring the relationships between design measures and software quality in object-oriented systems , 2000, J. Syst. Softw..

[9]  Tsong Yueh Chen,et al.  On the divide-and-conquer approach towards test suite reduction , 2003, Inf. Sci..

[10]  Sandeep Purao,et al.  Object-oriented product metrics: A generic framework , 2007, Inf. Sci..

[11]  William H. Hsu,et al.  Genetic wrappers for feature selection in decision tree induction and variable ordering in Bayesian network structure learning , 2004, Inf. Sci..

[12]  Mario Piattini,et al.  Managing software process measurement: A metamodel-based approach , 2007, Inf. Sci..

[13]  Javam C. Machado,et al.  The prediction of faulty classes using object-oriented design metrics , 2001, J. Syst. Softw..

[14]  Timothy K. Shih,et al.  Object-Oriented Software Testing and Metric in Z Specification , 1997, Inf. Sci..

[15]  David Taniar,et al.  Performance analysis of "Groupby-After-Join" query processing in parallel database systems , 2004, Inf. Sci..

[16]  Sankar K. Pal,et al.  Soft computing data mining , 2004, Inf. Sci..

[17]  Duncan L. Pemberton,et al.  VOCAL: Interactive System & Tool Support , 1997 .

[18]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[19]  P K Kapur,et al.  SOFTWARE RELIABILITY GROWTH MODELS BASED ON NHPP , 1999 .

[20]  Helio J. C. Barbosa,et al.  A new adaptive penalty scheme for genetic algorithms , 2003, Inf. Sci..

[21]  Ian T. Cameron,et al.  Prediction-based diagnosis and loss prevention using qualitative multi-scale models , 2005 .

[22]  James Miller Statistical significance testing--a panacea for software technology experiments? , 2004, J. Syst. Softw..

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

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

[25]  Zhaohao Sun,et al.  Case base building with similarity relations , 2004, Inf. Sci..

[26]  Shinji Kusumoto,et al.  Prediction of fault-proneness at early phase in object-oriented development , 1999, Proceedings 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'99) (Cat. No.99-61702).

[27]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[28]  Shyam R Chidamber A metrics suite for object oriented software design , 1994 .

[29]  Hausi A. Müller,et al.  Predicting fault-proneness using OO metrics. An industrial case study , 2002, Proceedings of the Sixth European Conference on Software Maintenance and Reengineering.

[30]  Tong-Seng Quah,et al.  Application of neural networks for software quality prediction using object-oriented metrics , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[31]  N. Madhavji,et al.  Validating Object-Oriented Design Metrics on a Commercial Java Application , 2000 .

[32]  Fabrizio Fioravanti A metric framework for the assessment of object-oriented systems , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[33]  Tong-Seng Quah An Implementation of Metrics Extraction and Analyzer Tool , 2007, Int. J. Artif. Intell. Tools.

[34]  Ralf Reissing,et al.  Towards a Model for Object-Oriented Design Measurement , 1996 .

[35]  Lionel C. Briand,et al.  Assessing the Applicability of Fault-Proneness Models Across Object-Oriented Software Projects , 2002, IEEE Trans. Software Eng..

[36]  Chi Hau Chen,et al.  Fuzzy logic and neural network handbook , 1996 .

[37]  Michelle Cartwright,et al.  An Empirical Investigation of an Object-Oriented Software System , 2000, IEEE Trans. Software Eng..

[38]  Tong-Seng Quah,et al.  Prediction of software development faults in PL/SQL files using neural network models , 2004, Inf. Softw. Technol..

[39]  Steve McConnell,et al.  Best Practices: Gauging Software Readiness with Defect Tracking , 1997, IEEE Softw..

[40]  Letha H. Etzkorn,et al.  Towards a semantic metrics suite for object-oriented design , 2000, Proceedings. 34th International Conference on Technology of Object-Oriented Languages and Systems - TOOLS 34.

[41]  Johanna Rothman Of Crazy Numbers and Realease Criteria , 1998, Computer.