当前位置: X-MOL 学术J. Heuristics › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
CMSA algorithm for solving the prioritized pairwise test data generation problem in software product lines
Journal of Heuristics ( IF 1.1 ) Pub Date : 2020-11-10 , DOI: 10.1007/s10732-020-09462-w
Javier Ferrer , Francisco Chicano , José Antonio Ortega-Toro

In Software Product Lines, it may be difficult or even impossible to test all the products of the family because of the large number of valid feature combinations that may exist (Ferrer et al. in: Squillero, Sim (eds) EvoApps 2017, LNCS 10200, Springer, The Netherlands, pp 3–19, 2017). Thus, we want to find a minimal subset of the product family that allows us to test all these possible combinations (pairwise). Furthermore, when testing a single product is a great effort, it is desirable to first test products composed of a set of priority features. This problem is called Prioritized Pairwise Test Data Generation Problem. State-of-the-art algorithms based on Integer Linear Programming for this problem are faster enough for small and medium instances. However, there exists some real instances that are too large to be computed with these algorithms in a reasonable time because of the exponential growth of the number of candidate solutions. Also, these heuristics not always lead us to the best solutions. In this work we propose a new approach based on a hybrid metaheuristic algorithm called Construct, Merge, Solve & Adapt. We compare this matheuristic with four algorithms: a Hybrid algorithm based on Integer Linear Programming, a Hybrid algorithm based on Integer Nonlinear Programming, the Parallel Prioritized Genetic Solver, and a greedy algorithm called prioritized-ICPL. The analysis reveals that CMSA is statistically significantly better in terms of quality of solutions in most of the instances and for most levels of weighted coverage, although it requires more execution time.



中文翻译:

解决软件产品线中按优先顺序的成对测试数据生成问题的CMSA算法

在软件产品线中,由于可能存在大量有效的功能组合,因此可能很难甚至无法测试该系列的所有产品(Ferrer等人:Squillero,Sim(eds)EvoApps 2017,LNCS 10200 ,施普林格,荷兰,第3-19页,2017年)。因此,我们希望找到产品系列的最小子集,以使我们能够测试所有这些可能的组合(成对)。此外,当花费很大的精力测试单个产品时,希望首先测试由一组优先级特征组成的产品。此问题称为优先成对测试数据生成问题。对于中小型实例,基于整数线性规划的最新算法足够快。然而,由于候选解的数量呈指数增长,因此存在一些实际实例,这些实例太大,无法在合理的时间内用这些算法进行计算。同样,这些启发式方法并不总是将我们引向最佳解决方案。在这项工作中,我们提出了一种基于混合元启发式算法的新方法,该算法称为构造,合并,解决和适应。我们将这种数学方法与四种算法进行比较:基于整数线性规划的混合算法,基于整数非线性规划的混合算法,并行优先遗传算法和称为优先级ICPL的贪婪算法。分析表明,在大多数情况下和在大多数加权覆盖级别上,CMSA的解决方案质量在统计上都明显更好,尽管它需要更多的执行时间。

更新日期:2020-11-12
down
wechat
bug