A Novel Framework for Locating Software Faults Using Latent Divergences

@inproceedings{Roychowdhury2011ANF,
  title={A Novel Framework for Locating Software Faults Using Latent Divergences},
  author={Shounak Roychowdhury and Sarfraz Khurshid},
  booktitle={ECML/PKDD},
  year={2011}
}
Fault localization, i.e., identifying erroneous lines of code in a buggy program, is a tedious process, which often requires considerable manual effort and is costly. Recent years have seen much progress in techniques for automated fault localization, specifically using program spectra - executions of failed and passed test runs provide a basis for isolating the faults. Despite the progress, fault localization in large programs remains a challenging problem, because even inspecting a small… Expand
Localization of faults in software programs using Bernoulli divergences
TLDR
Initial experimental results a suite of programs show this approach for fault localization holds promise, which takes concepts from information theory and machine learning and applies them to software engineering. Expand
Software fault localization using feature selection
TLDR
Experimental results show that this approach outperforms state-of-the-art approaches for localizing faults in most subject programs of the Siemens suite, which have previously been used to evaluate several fault localization techniques. Expand
Can Automated Program Repair Refine Fault Localization?
TLDR
ProFL, a simplistic approach using patch-execution results (from program repair) as the feedback information for fault localization, and shows that ProFL can further boost state-of-the-art fault localization via both unsupervised and supervised learning. Expand
Can automated program repair refine fault localization? a unified debugging approach
TLDR
The unified debugging approach is proposed to unify the two areas in the other direction for the first time, i.e., can program repair in turn help with fault localization, and designed ProFL to leverage patch-execution results (from program repair) as the feedback information for fault localization. Expand
Concolic Fault Abstraction
TLDR
A novel algorithm is proposed that integrates concrete execution and symbolic reasoning about the error trace to address the challenges of concolic testing and can avoid complex logical encodings when reasoning about traces in low-level C programs. Expand
A family of generalized entropies and its application to software fault localization
TLDR
Experimental results show that while using mutual information based on generalizedEntropies allows more accurate fault localization that traditional techniques, the specific entropies used do not have a significant impact on fault localization effectiveness. Expand
Ensemble of feature selectors for software fault localization
  • S. Roychowdhury
  • Computer Science
  • 2012 IEEE International Conference on Systems, Man, and Cybernetics (SMC)
  • 2012
TLDR
This initial exploratory paper proposes a novel technique that uses strengths of different types of feature selectors - that use the underlying properties of convexity of operators, and similarity measures - that are typically non-convex operators. Expand
Specification-based Error Recovery: Theory, Algorithms, and Usability
TLDR
This project laid the foundation for a novel methodology for correcting erroneous program executions using specifications at run-time by using likely correct actions by an otherwise erroneous execution to prune the non-determinism in the specification, thereby transmuting the specification to an implementation at run time and reducing the performance overhead. Expand
Inforence: effective fault localization based on information-theoretic analysis and statistical causal inference
TLDR
The experimental results prove the outperformance of the proposed Inforence method compared to the state-of-the-art techniques. Expand
CGT-FL: using cooperative game theory to effective fault localization in presence of coincidental correctness
  • Farid Feyzi
  • Computer Science
  • Empirical Software Engineering
  • 2020
TLDR
A new framework is developed 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 and proves the outperformance of CGT-FL compared to state-of-the-art techniques. Expand
...
1
2
...

References

SHOWING 1-10 OF 24 REFERENCES
A family of code coverage-based heuristics for effective fault localization
TLDR
A code coverage-based method with a family of heuristics is proposed in order to prioritize suspicious code according to its likelihood of containing program bugs, suggesting Heuristics III(a), (b) and (c) of the method can effectively reduce the effort spent on fault localization. Expand
SOBER: statistical model-based bug localization
TLDR
The result demonstrated the power of the approach in bug localization: SOBER can help programmers locate 68 out of 130 bugs in the Siemens suite when programmers are expected to examine no more than 10% of the code, whereas the best previously reported is 52 out of130. Expand
Fault localization with nearest neighbor queries
  • M. Renieris, S. Reiss
  • Computer Science
  • 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.
  • 2003
TLDR
A method for performing fault localization using similar program spectra and a generic method for establishing the quality of a report, based on the way an "ideal user" would navigate the program using the report to save effort during debugging. Expand
Context-aware statistical debugging: from bug predictors to faulty control flow paths
TLDR
This paper proposes an approach to automatically generate faulty control flow paths that link many bug predictors together for revealing bugs, and combines feature selection, clustering, and control flow graph traversal in a novel way to help generate the paths. Expand
Empirical evaluation of the tarantula automatic fault-localization technique
TLDR
The studies show that, on the same set of subjects, the Tarantula technique consistently outperforms the other four techniques in terms of effectiveness in fault localization, and is comparable in efficiency to the least expensive of the other five techniques. Expand
A practical evaluation of spectrum-based fault localization
TLDR
This work investigates diagnostic accuracy as a function of several parameters (such as quality and quantity of the program spectra collected during the execution of the system) and shows that SFL can effectively be applied in the context of embedded software development in an industrial environment. Expand
Experiments on the effectiveness of dataflow- and control-flow-based test adequacy criteria
TLDR
An experimental study investigating the effectiveness of two code-based test adequacy criteria for identifying sets of test cases that detect faults found that tests based respectively on control-flow and dataflow criteria are frequency complementary in their effectiveness. Expand
Scalable statistical bug isolation
TLDR
A statistical debugging algorithm that isolates bugs in programs containing multiple undiagnosed bugs and identifies predictors that are associated with individual bugs that reveal both the circumstances under which bugs occur as well as the frequencies of failure modes, making it easier to prioritize debugging efforts. Expand
Dynamic program slicing
TLDR
This paper investigates the concept of the dynamic slice consisting of all statements that actually affect the value of a variable occurrence for a given program input, and introduces the economical concept of a Reduced Dynamic Dependence Graph, proportional in size to the number of dynamic slices arising during the program execution. Expand
Recovering inter-project dependencies in software ecosystems
TLDR
This paper presents and evaluates several variants of a lightweight and scalable approach to recover dependencies between the software projects of an ecosystem and evaluates the recovery algorithms on the Squeak 3.10 Universe, an ecosystem containing more than 200 software projects. Expand
...
1
2
3
...