A heuristic test data generation approach for program fault localization

  • Authors:
  • Saeed Parsa;Hamid Rafati PorShokooh;Saman Teymouri;Mojtaba Vahidi-Asl

  • Affiliations:
  • Department of Software Engineering, Iran University of Science and Technology, Tehran, Iran;Department of Software Engineering, Iran University of Science and Technology, Tehran, Iran;Department of Software Engineering, Iran University of Science and Technology, Tehran, Iran;Department of Software Engineering, Iran University of Science and Technology, Tehran, Iran

  • Venue:
  • AICI'11 Proceedings of the Third international conference on Artificial intelligence and computational intelligence - Volume Part I
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

The aim of this paper is to improve the reliability of programs by generating test cases considering different execution paths of the program. The method introduced in this paper assumes that only a single failing run is available for the program and applies a genetic algorithm which searches for the most similar failing and passing runs in terms of their executed predicates. By contrasting the similar passing and failing runs, the predicates that are different in two executions could be reported as fault relevant ones. We have also applied the k-means clustering technique to partition test cases according to their corresponding execution paths in order to ensure about the quality of software and locate the existing faults of the program. To evaluate the accuracy of the proposed method, we have conducted some case studies on a number of Siemens programs including different faulty versions. The results show the capability of the proposed method in generating a wide variety of test cases which could cover different program execution paths. The results also show the effectiveness of the approach in localizing faults according to detected fault relevant predicates.