CGT-FL : using cooperative game theory to effective fault localization in presence of coincidental correctness

  • PDF / 2,156,765 Bytes
  • 55 Pages / 439.37 x 666.142 pts Page_size
  • 87 Downloads / 230 Views

DOWNLOAD

REPORT


CGT-FL: using cooperative game theory to effective fault localization in presence of coincidental correctness Farid Feyzi 1 # Springer Science+Business Media, LLC, part of Springer Nature 2020

Abstract

In this article we emphasize that most of the faults, appearing in real-world programs, are complicated and there exists a high interaction between faulty and other correlated statements, that is likely to cause coincidental correctness in many cases. To effectively diminish the negative impact of coincidentally correct tests on localization effectiveness, we suggest analyzing the combinatorial effect of program statements on the failure. To this end, we develop a new framework, CGT-FL, for evaluation and ranking program statements in a manner that statements which have strong discriminatory power as a group but are weak as individuals could be identified. The framework firstly evaluates the interactivity degree of each statement according to its influence on the intricate interrelation among statements by a Shapley value-based cooperative game-theoretic method. Then, statements are selected in a forward way by considering both interactivity and relevance measures. To verify the effectiveness of CGT-FL, we provide the results of our extensive experiments with different subject programs, containing seeded and real faults. The experimental results are then compared with those provided by different fault localization techniques for both single-fault and multiple-fault programs. The results prove the outperformance of CGT-FL compared to state-of-the-art techniques. Keywords Coincidental correctness . Cooperative gametheory . Shapley value . Fault localization . Debugging

1 Introduction Spectrum-Based Fault Localization (SBFL) techniques (Ju et al. 2014; Feyzi and Parsa 2017a, b; Wong et al. Wong et al. 2010, Wong et al. 2012, Wong et al. 2014; Feyzi et al. 2016; Abreu et al. 2009; Naish et al. 2011; Jones and Harrold 2005) estimate the suspiciousness of each Guest Editor: Shin Yoo

* Farid Feyzi [email protected]

1

Faculty of Engineering, University of Guilan, Rasht, Iran

Empirical Software Engineering

program statement by analyzing the spectra of passed and failed test cases. They attempt to rank program elements according to their presence (as well as absence) in failed and passed executions. The more correlation between such program elements and the presence of the observed failures, the larger degree of suspiciousness is assigned to the element. Recently, Masri et al. (Masri and Podgurski 2009) conducted an empirical study that reveals most dynamic information flows in programs do not convey any measurable information, which means that it is likely that many infectious states might not propagate to the output, thus, leading to coincidental correctness (Hierons 2006). In this case, the defect is reached but either the program is not transitioned into an infectious state, or the infection is not propagated to the output. Masri et al. and several other researchers, demonstrated that coincidental correctness is