Analyzing program dynamic graphs for software fault localization
Saeed Parsa, Zaynab Mousavian, Mojtaba Vahidi-Asl · 2010
The aim of this paper is to extract dynamic behavioral graphs from different executions of a program and analyze them to find bug relevant sub-graphs. Similar graph mining methods for software fault localization extract discriminate sub-graphs in failing and passing executions. However, due to the nature of software bugs, a failure context does not necessarily appear in a discriminative sub-graph. Therefore, we have proposed a new formula to rank the edges based on their suspiciousness to the failure. These suspicious edges are further applied to form best candidate faulty sub-graphs. In order to show the significance of using weights to construct program dynamic graphs, we have analyzed both weighted and un-weighted graphs with proposed ranking technique. The experimental results on Siemens suite reveal high capability of the proposed technique on weighted dynamic graphs.