Fault Prediction in Object-Oriented Software Using Neural Network Techniques

To remain competitive in the dynamic world of software development, organizations must optimize the usage of their limited resources to deliver quality products on time and within budget. This requires prevention of fault introduction and quick discovery and repair of residual faults. In this paper a new approach for predicting and classification of faults in object-oriented software systems is introduced. In particular, faults due to the use of inheritance and polymorphism are considered as they account for significant portion of faults in object-oriented systems. The proposed fault prediction model is based on supervised learning using Multilayer Perceptron Neural Network. The results of fault prediction are analyzed in terms of classification correctness and some other standard criteria. Based on the results of classification, faulty classes are further analyzed and classified according to the particular type of fault. The classification model is based on clustering using Radial-Basis Function Neural Network. It is concluded, that the proposed model provides high accuracy in discrimination between faulty and fault-free classes.

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

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

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

[4]  Houari A. Sahraoui,et al.  Reusability hypothesis verification using machine learning techniques: a case study , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[5]  Tong-Seng Quah,et al.  Application of neural network for predicting software development faults using object-oriented design metrics , 2002, Proceedings of the 9th International Conference on Neural Information Processing, 2002. ICONIP '02..

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

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

[8]  A. Jefferson Offutt,et al.  A fault model for subtype inheritance and polymorphism , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[9]  James M. Bieman,et al.  Syntactic fault patterns in OO programs , 2002, Eighth IEEE International Conference on Engineering of Complex Computer Systems, 2002. Proceedings..

[10]  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).