一句话:提出 AutoCCAG,利用自动算法配置与选择生成更小的约束覆盖数组,并首次报告 5-way CCAG 结果。
组合交互测试(CIT)需在硬约束下生成覆盖配置选项交互的测试用例,即约束覆盖数组(CCA);该生成问题(CCAG)是 NP 难组合优化,高覆盖强度(t≥4)尤其困难。本文受自动算法配置与自动算法选择在组合优化中成功的启发,研究二者对 CCAG 的有效性,并提出自动化方法 AutoCCAG。在公开基准上的大量实验表明,AutoCCAG 能找到比当前最先进方法小得多的 CCA;据作者所知,这是首次在公开基准上报告 5-way CCAG 结果,显示其对高度可配置软件测试的显著收益。
Combinatorial interaction testing (CIT) is an important technique for testing highly configurable software systems with demonstrated effectiveness in practice. The goal of CIT is to generate test cases covering the interactions of configuration options, under certain hard constraints. In this context, constrained covering arrays (CCAs) are frequently used as test cases in CIT. Constrained Covering Array Generation (CCAG) is an NP-hard combinatorial optimization problem, solving which requires an effective method for generating small CCAs. In particular, effectively solving t-way CCAG with t>=4 is even more challenging. Inspired by the success of automated algorithm configuration and automated algorithm selection in solving combinatorial optimization problems, in this paper, we investigate the efficacy of automated algorithm configuration and automated algorithm selection for the CCAG problem, and propose a novel, automated CCAG approach called AutoCCAG. Extensive experiments on public benchmarks show that AutoCCAG can find much smaller-sized CCAs than current state-of-the-art approaches, indicating the effectiveness of AutoCCAG. More encouragingly, to our best knowledge, our paper reports the first results for CCAG with a high coverage strength (i.e., 5-way CCAG) on public benchmarks. Our results demonstrate that AutoCCAG can bring considerable benefits in testing highly configurable software systems.
@inproceedings{LuoLCCHQZLZWRZ21,
title = {AutoCCAG: An Automated Approach to Constrained Covering Array Generation},
author = {Chuan Luo and Jinkun Lin and Shaowei Cai and Xin Chen and Bing He and Bo Qiao and Pu Zhao and Qingwei Lin and Hongyu Zhang and Wei Wu and Saravanakumar Rajmohan and Dongmei Zhang},
booktitle = {ICSE},
year = {2021},
doi = {10.1109/icse43902.2021.00030}
}