Method Calls Frequency-Based Tie-Breaking Strategy For Software Fault Localization

08/25/2021
by   Qusay Idrees Sarhan, et al.
0

In Spectrum-Based Fault Localization (SBFL), a suspiciousness score is assigned to each code element based on test coverage and test outcomes. The scores are then used to rank the code elements relative to each other in order to aid the programmer during the debugging process when seeking the source of a fault. However, probably none of the known SBFL formulae are guaranteed to produce different scores for all the program elements, hence ties emerge between the code elements. Based on our experiments, ties in SBFL are prevalent: in Defects4J, 54-56 there is at least one other method with the same score in these cases (but typically much more, on average 6), and this inevitably reduces the effectiveness of any SBFL approach. In this work, we present a technique to break ties in such cases based on the so-called method calls frequencies. This counts the number of different contexts of method calls (both as callees and as callers) in failing test cases. The intuition is that if a method appears in many different calling contexts during a failing test case, it will be more suspicious and get a higher rank position compared to other methods with the same scores. This method can be applied to any underlying SBFL formula, and can favourably break the occurring ranks in the ties in many cases. The experimental results show that our novel tie-breaking strategy achieved a significant reduction in both size and number of critical ties in our benchmark. In 72-73 average reduction rate was more than 80

READ FULL TEXT
research
08/18/2019

Incorporating fault-proneness estimations into coverage-based test case prioritization methods

Context: During the development process of a software program, regressio...
research
10/20/2016

Breakdown of a Benchmark Score Without Internal Analysis of Benchmarking Program

A breakdown of a benchmark score is how much each aspect of the system p...
research
06/14/2020

Detection of Coincidentally Correct Test Cases through Random Forests

The performance of coverage-based fault localization greatly depends on ...
research
07/20/2021

A Hybrid Approach to Fine-grained Automated Fault Localization

Fault localization is to identify faulty source code. It could be done o...
research
03/25/2018

Kernel-based Detection of Coincidentally Correct Test Cases to Improve Fault Localization Effectiveness

Although empirical studies have confirmed the effectiveness of spectrum-...
research
12/31/2020

Breaking Ties: Regression Discontinuity Design Meets Market Design

Many schools in large urban districts have more applicants than seats. C...
research
04/08/2019

Plant-wide fault and disturbance screening using combined transfer entropy and eigenvector centrality analysis

Finding the source of a disturbance or fault in complex systems such as ...

Please sign up or login with your details

Forgot password? Click here to reset