Effective software fault localization by statistically testing the program behavior model

  • Authors:
  • Azam Peyvandi-Pour;Saeed Parsa

  • Affiliations:
  • IUST, Iran;IUST, Iran

  • Venue:
  • ICICA'11 Proceedings of the Second international conference on Information Computing and Applications
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Existing Statistical fault localization approaches locate bugs by testing statistical behavior of each predicate and propose fault relevant predicates as nearest points to faults. In this paper, we present a novel statistical approach employing a weighted graph, elicited from run-time information of a program. The predicates are considered as nodes; an edge is denoting a run-time path between two predicates and its label is the number of simultaneous occurrence of connected predicates in the run. Firstly, a typical graph, representing failed run is contrasted with whole graphs of passed runs to find the two most similar graphs of the passed runs and failed runs and discriminative edges are chosen as suspicious edges. In next phase, we statistically test the distribution of the suspicious edges to find the most fault relevant edges; to this end, we apply a normality test on the suspicious edges and based on the test result, we use a parametric or non-parametric hypothesis testing to discover the most fault relevant edges. We conduct the experimental study based on Siemens test suite and the results show the proposing approach is remarkable.