Causality meets Configurable Systems

From International Center for Computational Logic

Causality meets Configurable Systems

Talk by Clemens Dubslaff
Detecting and understanding reasons for defects and inadvertent behavior in computing systems is challenging due to increasing complexity of such systems. Configurability adds a further layer of complexity as the number of system variants can be exponential in the number of configuration options. Determining reasons of configuration decisions that yield an effect, e.g., ensuring quality of service, is hence a crucial and difficult task. In this talk, I will present a notion of causality at the level of configuration options and algorithms to compute such causes from (functional and non-functional) analysis results. The presented notion of causality is based on counterfactual reasoning and inspired by the seminal definition of actual causality by Halpern and Pearl. I will present various methods to explicate such reasons for effects, e.g., based on well-established notions of responsibility and blame. By means of an evaluation on a wide range of configurable software systems, including community benchmarks and real-world systems, the feasibility of this approach is demonstrated by identifying root causes, estimate the effects of configuration options, and detect feature interactions.