An Empirical Study On Fault Localization And Effective Test Case Selection By Neural Network

A Radial basis function (RBF) neural network based fault localization technique is proposed in this paper to assist programmers in locating bugs effectively. Here we employ a three-layered feed forward artificial neural network with a radial basis function for its hidden unit activation and for linear function with its output layer activation. Here the neural network is trained to have a good relationship between the statement coverage information of a test case and its corresponding execution result to get a success or failure. The trained network is then given as an input to a set of virtual test cases, each covering a single statement, and the output of the network, for each virtual test case, is considered to be the suspiciousness of the corresponding covered statement. A statement with a higher suspiciousness has a higher likelihood of contain a bug, and thus, statement can be ranked in descending order of their suspiciousness. The Ranking can then be examined one by one, starting from the top, until a bug is located. Six case studies on different programs were conduced, with each faulty version contain a distinct bug, and the result clearly show that our proposed technique is much more effective than Tarantula, another popular fault localization technique.

[1]  Joseph Robert Horgan,et al.  Fault localization using execution slices and dataflow tests , 1995, Proceedings of Sixth International Symposium on Software Reliability Engineering. ISSRE'95.

[2]  CountDeclInstance X VariablePrivate,et al.  Fault Prediction in Object-Oriented Software Using Neural Network Techniques , 2004 .

[3]  Charles W. Anderson,et al.  ON THE PROMISE OF NEURAL NETWORKS TO SUPPORT SOFTWARE TESTING , 1998 .

[4]  Eugene H. Spafford,et al.  Failure and fault analysis for software debugging , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[5]  Shaoying Liu,et al.  Generating test data from state‐based specifications , 2003, Softw. Test. Verification Reliab..

[6]  Petr Musílek,et al.  MASP - An Enhanced Model of Fault Type Identification in Object-Oriented Software Engineering , 2006, J. Adv. Comput. Intell. Intell. Informatics.

[7]  Automated Fitness Guided Fault Localization , 2011 .

[8]  Malgorzata Steinder,et al.  A survey of fault localization techniques in computer networks , 2004, Sci. Comput. Program..

[9]  H. Cleve,et al.  Locating causes of program failures , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..