Practical minimization of pairwise-covering test configurations using constraint programming

被引:23
|
作者
Hervieu, Aymeric [1 ]
Marijan, Dusica [2 ]
Gotlieb, Arnaud [2 ]
Baudry, Benoit [1 ]
机构
[1] INRIA Rennes Bretagne Atlantique, Rennes, France
[2] Simula Res Lab, Fornebu, Norway
关键词
Variability testing; Highly-configurable software systems; Constraint programming; INTERACTION TEST SUITES;
D O I
10.1016/j.infsof.2015.11.007
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context: Testing highly-configurable software systems is challenging due to a large number of test configurations that have to be carefully selected in order to reduce the testing effort as much as possible, while maintaining high software quality. Finding the smallest set of valid test configurations that ensure sufficient coverage of the system's feature interactions is thus the objective of validation engineers, especially when the execution of test configurations is costly or time-consuming. However, this problem is NP-hard in general and approximation algorithms have often been used to address it in practice. Objective: In this paper, we explore an alternative exact approach based on constraint programming that will allow engineers to increase the effectiveness of configuration testing while keeping the number of configurations as low as possible. Method: Our approach consists in using a (time-aware) minimization algorithm based on constraint programming. Given the amount of time, our solution generates a minimized set of valid test configurations that ensure coverage of all pairs of feature values (a.k.a. pairwise coverage). The approach has been implemented in a tool called PACOGEN. Results: PACOGEN was evaluated on 224 feature models in comparison with the two existing tools that are based on a greedy algorithm. For 79% of 224 feature models, PACOGEN generated up to 60% fewer test configurations than the competitor tools. We further evaluated PACOGEN in the case study of an industrial video conferencing product line with a feature model of 169 features, and found 60% fewer configurations compared with the manual approach followed by test engineers. The set of test configurations generated by PACOGEN decreased the time required by test engineers in manual test configuration by 85%, increasing the feature-pairs coverage at the same time. Conclusion: Our experimental evaluation concluded that optimal time-aware minimization of pairwise-covering test configurations is efficiently addressed using constraint programming techniques. (C) 2015 Elsevier B.V. All rights reserved.
引用
收藏
页码:129 / 146
页数:18
相关论文
共 12 条
  • [1] Understanding Complexity in a Practical Combinatorial Problem Using Mathematical Programming and Constraint Programming
    Oliveira, Beatriz B.
    Carravilla, Maria Antonia
    [J]. OPERATIONAL RESEARCH, 2018, 223 : 269 - 295
  • [2] Using Constraint Programming to Manage Configurations in Self-Adaptive Systems
    Sawyer, Pete
    Mazo, Raul
    Diaz, Daniel
    Salinesi, Camille
    Hughes, Danny
    [J]. COMPUTER, 2012, 45 (10) : 56 - 63
  • [3] Regression test suite minimization using integer linear programming model
    Panda, S.
    Mohapatra, D. P.
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2017, 47 (11): : 1539 - 1560
  • [4] TTCN-3 test data analyser using Constraint Programming
    Vega, Diana
    Din, George
    Schieferdecker, Ina
    [J]. ICSENG 2008: INTERNATIONAL CONFERENCE ON SYSTEMS ENGINEERING, 2008, : 498 - +
  • [5] Preamble computation in automated test case generation using constraint logic programming
    Colin, S
    Legeard, B
    Peureux, F
    [J]. SOFTWARE TESTING VERIFICATION & RELIABILITY, 2004, 14 (03): : 213 - 235
  • [6] Crash Frequency Minimization with Severity Mitigation in Road Geometric Design Using Chance Constraint Programming Optimization
    Li, Wei
    Zhang, Minjiao
    Sharma, Anuj
    [J]. JOURNAL OF ADVANCED TRANSPORTATION, 2023, 2023
  • [7] Area Minimization Method for CMOS Circuits Using Constraint Programming in 1D-Layout Style
    Mashiko, Hayato
    Kohira, Yukihide
    [J]. 2016 INTERNATIONAL SYMPOSIUM ON VLSI DESIGN, AUTOMATION AND TEST (VLSI-DAT), 2016,
  • [8] ATGen: automatic test data generation using constraint logic programming and symbolic execution
    Meudec, C
    [J]. SOFTWARE TESTING VERIFICATION & RELIABILITY, 2001, 11 (02): : 81 - 96
  • [9] Using set covering with item sampling to analyze the infeasibility of linear programming test assembly models
    Huitzing, HA
    [J]. APPLIED PSYCHOLOGICAL MEASUREMENT, 2004, 28 (05) : 355 - 375
  • [10] Efficient generation of test data structures using constraint logic programming and program transformation
    Fioravanti, Fabio
    Proietti, Maurizio
    Senni, Valerio
    [J]. JOURNAL OF LOGIC AND COMPUTATION, 2015, 25 (06) : 1263 - 1283