Data-flow-based evolutionary fault localization

3Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Fault localization is the activity of precisely indicating the faulty commands in a buggy program. It is known to be a highly costly and tedious process. Automating this process has been the goal of many studies, showing it to be a challenging problem. The coverage-spectrum based approaches commonly apply heuristics grounded on the execution of control-flow components to calculate the odds of each program element to be the defective one. The present study aims to investigate another source of fault information by assessing how data-flow analysis is useful when computing suspiciousness scores; and how the combination of scores from different sources impacts fault localization. We present an approach to calculate the suspiciousness score for each program command by using the execution of data-flow components. Then we use an evolutionary algorithm to search sets of weights to combine heuristics from distinct sources of fault data (both control-flow and data-flow as well as a hybrid strategy). The approach was applied to programs with seeded faults and real faults and evaluated by using absolute metrics to asses its efficacy to locate faults. Furthermore, we introduce a new metric to investigate the dependence of tie-break strategies in building the ranking of suspicious commands. Dataflow based methods demonstrate high effectiveness but increase the need for tie-breaks, unlike the evolutionary hybrid method that is still effective but also depends less on tie-break strategies.

Cite

CITATION STYLE

APA

Silva-Junior, D., Leitao-Junior, P. S., Dantas, A., Camilo-Junior, C. G., & Harrison, R. (2020). Data-flow-based evolutionary fault localization. In Proceedings of the ACM Symposium on Applied Computing (pp. 1963–1970). Association for Computing Machinery. https://doi.org/10.1145/3341105.3373946

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free