Skip to the main content

Original scientific paper

https://doi.org/10.24138/jcomss.v13i4.402

Graph Mining for Software Fault Localization: An Edge Ranking based Approach

Marwa Gaber Abd El-Wahab ; Faculty of Computers and Information, Helwan University, Egypt
Amal Elsayed Aboutabl orcid id orcid.org/0000-0002-7189-9274 ; Faculty of Computers and Information, Helwan University, Egypt
Wessam M.H. EL Behaidy orcid id orcid.org/0000-0002-6094-6602 ; Faculty of Computers and Information, Helwan University, Egypt


Full text: english pdf 1.204 Kb

page 178-188

downloads: 685

cite


Abstract

Fault localization is considered one of the most challenging activities in the software debugging process. It is vital to guarantee software reliability. Hence, there has been a great demand for automated methods that can pinpoint faults for software developers. Various fault localization techniques that are based on graph mining have been proposed in the literature. These techniques rely on detecting discriminative sub-graphs between failing and passing traces. However, these approaches may not be applicable when the fault does not appear in a discriminative pattern. On the other hand, many approaches focus on selecting potentially faulty program components (statements or predicates) and then ranking these components according to their degree of suspiciousness. One of the difficulties encountered by such approaches is to understand the context of fault occurrence. To address these issues, this paper introduces an approach that helps in analyzing the context of execution traces based on control flow graphs. The proposed approach uses the edge-ranking of basic blocks in software programs using Dstar that proved to be more effective than many fault localization techniques. The proposed method helps in detecting some types of faults that could not be previously detected by many other approaches. Using Siemens benchmark, experiments show the effectiveness of the proposed technique compared to some well-known approaches such as Dstar, Tarantula, SOBER, Cause Transition and Liblit05. The percentage of localized faulty versions versus the percentage of code examined is taken as a measure. For instance, when the percentage of examined code is 30%, the proposed technique can localize nearly 81% of the faulty versions, which outperforms the other four techniques.

Keywords

Bug localization; basic block; control flow graph; edge – ranking

Hrčak ID:

191337

URI

https://hrcak.srce.hr/191337

Publication date:

14.12.2017.

Visits: 1.557 *