论文标题

可配置软件系统中的因果关系

Causality in Configurable Software Systems

论文作者

Dubslaff, Clemens, Weis, Kallistos, Baier, Christel, Apel, Sven

论文摘要

由于其复杂性的增加,检测和理解软件中缺陷和无意行为的原因是具有挑战性的。在可配置的软件系统中,由用户可能从添加进一步的复杂性中选择的多种功能引起的组合设备。我们介绍了特征因果关系的概念,该概念基于反事实推理,并受Halpern和Pearl对实际因果关系的开创性定义的启发。特征因果关系在系统配置的级别上运行,并且能够识别特征及其相互作用,这是新兴功能和非功能属性的原因。我们提出了各种方法来阐明这些原因,特别是建立良好的责任和责任概念,并将其扩展到面向功能的设置。建立特征因果关系与主要隐含物的密切联系,我们提供算法以有效计算特征原因和因果解释。通过对包括社区基准和现实世界系统在内的各种可配置软件系统的评估,我们证明了我们方法的可行性:我们说明了因果关系的概念如何促进以识别根本原因,估计特征的效果,并检测特征相互作用。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源