Diagnosing Software Faults Using Multiverse Analysis
Prantik Chatterjee, Abhijit Chatterjee, Jose Campos, Rui Abreu, Subhajit Roy
Abstract
Spectrum-based Fault Localization (SFL) approaches aim to efficiently localize faulty components from examining program behavior. This is done by collecting the execution patterns of various combinations of components and the corresponding outcomes into a spectrum. Efficient fault localization depends heavily on the quality of the spectra. Previous approaches, including the current state-of-the-art Density- Diversity-Uniqueness (DDU) approach, attempt to generate “good” test-suites by improving certain structural properties of the spectra. In this work, we propose a different approach, Multiverse Analysis, that considers multiple hypothetical universes, each corresponding to a scenario where one of the components is assumed to be faulty, to generate a spectrum that attempts to reduce the expected worst-case wasted effort over all the universes. Our experiments show that the Multiverse Analysis not just improves the efficiency of fault localization but also achieves better coverage and generates smaller test-suites over DDU, the current state-of-the-art technique. On average, our approach reduces the developer effort over DDU by over 16% for more than 92% of the instances. Further, the improvements over DDU are indeed statistically significant on the paired Wilcoxon Signed-rank test.
BibTeX
@inproceedings{ijcai2020p226,
title = {Diagnosing Software Faults Using Multiverse Analysis},
author = {Chatterjee, Prantik and Chatterjee, Abhijit and Campos, Jose and Abreu, Rui and Roy, Subhajit},
booktitle = {Proceedings of the Twenty-Ninth International Joint Conference on
Artificial Intelligence, {IJCAI-20}},
publisher = {International Joint Conferences on Artificial Intelligence Organization},
editor = {Christian Bessiere},
pages = {1629--1635},
year = {2020},
month = {7},
note = {Main track},
doi = {10.24963/ijcai.2020/226},
url = {https://doi.org/10.24963/ijcai.2020/226},
}