Saved in:
Bibliographic Details
Main Authors: Ji, Yi, Mak, Simon, Lekivetz, Ryan, Morgan, Joseph
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2403.08079
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866911547517829120
author Ji, Yi
Mak, Simon
Lekivetz, Ryan
Morgan, Joseph
author_facet Ji, Yi
Mak, Simon
Lekivetz, Ryan
Morgan, Joseph
contents Software testing is essential for the reliable development of complex software systems. A key step in software testing is fault localization, which uses test data to pinpoint failure-inducing combinations for further diagnosis. Existing fault localization methods have two key limitations: they (i) largely do not incorporate domain and/or structural knowledge from test engineers, and (ii) do not provide a probabilistic assessment of risk for potential root causes. Such methods can thus fail to confidently whittle down the combinatorial number of potential root causes in complex systems, resulting in prohibitively high debugging costs. To address this, we propose a novel Bayesian fault localization framework called BayesFLo, which leverages a flexible Bayesian model for identifying potential root causes with probabilistic uncertainties. Using a carefully-specified prior on root cause probabilities, BayesFLo permits the integration of domain and structural knowledge via the principles of combination hierarchy and heredity, which capture the expected structure of failure-inducing combinations. We then develop new algorithms for efficient computation of posterior root cause probabilities, leveraging recent tools from integer programming and graph representations. Finally, we demonstrate the effectiveness of BayesFLo over existing methods in two fault localization case studies, the first on the Traffic Alert and Collision Avoidance System for aircraft collision avoidance, and the second on the Vulnerable Road User protection tests for safe autonomous driving.
format Preprint
id arxiv_https___arxiv_org_abs_2403_08079
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle BayesFLo: Bayesian fault localization of complex software systems
Ji, Yi
Mak, Simon
Lekivetz, Ryan
Morgan, Joseph
Software Engineering
Methodology
Software testing is essential for the reliable development of complex software systems. A key step in software testing is fault localization, which uses test data to pinpoint failure-inducing combinations for further diagnosis. Existing fault localization methods have two key limitations: they (i) largely do not incorporate domain and/or structural knowledge from test engineers, and (ii) do not provide a probabilistic assessment of risk for potential root causes. Such methods can thus fail to confidently whittle down the combinatorial number of potential root causes in complex systems, resulting in prohibitively high debugging costs. To address this, we propose a novel Bayesian fault localization framework called BayesFLo, which leverages a flexible Bayesian model for identifying potential root causes with probabilistic uncertainties. Using a carefully-specified prior on root cause probabilities, BayesFLo permits the integration of domain and structural knowledge via the principles of combination hierarchy and heredity, which capture the expected structure of failure-inducing combinations. We then develop new algorithms for efficient computation of posterior root cause probabilities, leveraging recent tools from integer programming and graph representations. Finally, we demonstrate the effectiveness of BayesFLo over existing methods in two fault localization case studies, the first on the Traffic Alert and Collision Avoidance System for aircraft collision avoidance, and the second on the Vulnerable Road User protection tests for safe autonomous driving.
title BayesFLo: Bayesian fault localization of complex software systems
topic Software Engineering
Methodology
url https://arxiv.org/abs/2403.08079