TL;DR
This paper introduces feature causality, a counterfactual-based approach for identifying causes of defects and behaviors in complex configurable software systems, aiding root cause analysis and feature interaction detection.
Contribution
It presents a novel notion of feature causality, algorithms for computing causes, and demonstrates its effectiveness on real-world and benchmark systems.
Findings
Effectively identifies root causes of defects.
Estimates the impact of individual features.
Detects interactions between features.
Abstract
Detecting and understanding reasons for defects and inadvertent behavior in software is challenging due to their increasing complexity. In configurable software systems, the combinatorics that arises from the multitude of features a user might select from adds a further layer of complexity. We introduce the notion of feature causality, which is based on counterfactual reasoning and inspired by the seminal definition of actual causality by Halpern and Pearl. Feature causality operates at the level of system configurations and is capable of identifying features and their interactions that are the reason for emerging functional and non-functional properties. We present various methods to explicate these reasons, in particular well-established notions of responsibility and blame that we extend to the feature-oriented setting. Establishing a close connection of feature causality to prime…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
