Spectrum-Based Fault Localization Aided by Program Slicing
Péter Soha and Árpád
Beszédes
Determining the actual location of the fault during
debugging can be aided by various automated techniques.
Spectrum-Based Fault Localization (SBFL) is a popular automated
fault localization method that is based on test execution
statistics (also known as Statistical Fault Localization). The
fundamental approach in SBFL is to observe pass/fail and coverage
statistics of each test case and based on these assign
suspiciousness ranks to program elements using one of the many
possible heuristical formulae. A fundamentally different approach
is to use the syntactic relationship of the program elements to
follow the computation path from the observed behavior to the
actual fault. For example, with (backward dynamic) Program Slicing
(PS) one computes a program subset (including the fault itself)
which might have contributed to the computation at the observed
program location.
Both areas have large literatures on their own, but attempts have
been made to combine the two as well in the hope to find the fault
more effectively. Previous research has shown that these hybrid
solutions can combine the advantages of the base techniques, but
most of these articles focus on a specific SBFL and PS algorithm,
and a specific kind of combination is proposed. The goal of our
work is to systematically investigate the possibilities of
combining these two approaches for fault localization, and because
we believe that the area has not yet been fully explored, we hope
to be able to devise novel methods as well.
Keywords: Program
Slicing, Spectrum-based Fault Localization, debugging, combined
FL.
Back