2022/01/31 by Clemens Dubslaff, Kallistos Weis, Christel Baier +1 · 1 citation
Computer Science · #Advanced Software Engineering Methodologies #Artificial intelligence #Causality (physics) #Computer science #Computer security #Counterfactual thinking #Exploit #Feature (linguistics) #Feature model #Machine learning #Programming language #Range (aeronautics) #Software #Software Engineering Research #Software System Performance and Reliability #Software system #Theoretical computer science #cs.LO #cs.SE
paper · pdf · doi:10.1145/3510003.3510200
This is a preprint of the corresponding paper accepted at ICSE'22. The updated version provides more explanations, adds references to the artifact, and aligns with the camera-ready version of the publication
arxiv created 2022/02/28 · arxiv updated 2022/03/01 · openalex publication_date 2022/05/21 · openalex created_date 2025/10/10 · openalex updated_date 2026/08/05
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 implicants, we provide algorithms to effectively compute feature causes and causal explications. By means of an evaluation on a wide range of configurable software systems, including community benchmarks and real-world systems, we demonstrate the feasibility of our approach: We illustrate how our notion of causality facilitates to identify root causes, estimate the effects of features, and detect feature interactions.