一句话:提出 CoPo,用特征启停的共同程序实体刻画特征交互缺陷,并据此对配置进行缺陷感知的排序。
可配置软件系统中,特征之间的意外交互会引入大量缺陷,但穷举所有指数级配置成本过高。已有采样方法虽能缩小测试配置集,但即使只测试选中的配置也可能耗费巨大,因此基于缺陷的配置优先级排序有助于更早发现 bug。本文提出 CoPo,将特征交互 bug 重新表述为由特征启用/禁用的共同程序实体所刻画的问题,并据此设计一种高效的特征交互感知配置优先级排序技术,按照配置潜在 bug 总数进行排序。作者在公开基准上开展实验,结果表明 CoPo 优于当前最先进的配置优先级排序方法,并能发现 17 个此前未发现的特性交互 bug。
Unexpected interactions among features induce most bugs in a configurable software system. Exhaustively analyzing all exponential number of possible configurations is prohibitively costly. Thus, various sampling methods have been proposed to systematically narrow down the exponential number of configurations to be tested. Since testing all selected configurations can require a huge amount of effort, fault-based configuration prioritization, that helps detect bugs earlier, can yield practical benefits in quality assurance. In this paper, we propose CoPo, a novel formulation of feature-interaction bugs via common program entities enabled/disabled by the features. Leveraging from that, we develop an efficient feature-interaction-aware configuration prioritization technique for configurable systems by ranking configurations according to their total number of potential bugs. We conducted several experiments to evaluate CoPo on a public benchmark. We found that CoPo outperforms the state-of-the-art configuration prioritization methods. Interestingly, it is able to detect 17 not-yet-discovered feature-interaction bugs.
DOI 原文 ·
@inproceedings{paperbot4597,
title = {Feature-interaction aware configuration prioritization},
author = {Son Nguyen},
booktitle = {FSE},
year = {2018},
doi = {10.1145/3236024.3275437}
}