Diagnosing Software Faults Using Multiverse Analysis
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.
Cite
Text
Chatterjee et al. "Diagnosing Software Faults Using Multiverse Analysis." International Joint Conference on Artificial Intelligence, 2020. doi:10.24963/IJCAI.2020/226Markdown
[Chatterjee et al. "Diagnosing Software Faults Using Multiverse Analysis." International Joint Conference on Artificial Intelligence, 2020.](https://mlanthology.org/ijcai/2020/chatterjee2020ijcai-diagnosing/) doi:10.24963/IJCAI.2020/226BibTeX
@inproceedings{chatterjee2020ijcai-diagnosing,
title = {{Diagnosing Software Faults Using Multiverse Analysis}},
author = {Chatterjee, Prantik and Chatterjee, Abhijit and Campos, José and Abreu, Rui and Roy, Subhajit},
booktitle = {International Joint Conference on Artificial Intelligence},
year = {2020},
pages = {1629-1635},
doi = {10.24963/IJCAI.2020/226},
url = {https://mlanthology.org/ijcai/2020/chatterjee2020ijcai-diagnosing/}
}