학술논문

Greedy combinatorial test case generation using unsatisfiable cores
Document Type
Conference
Source
2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE) Automated Software Engineering (ASE), 2016 31st IEEE/ACM International Conference on. :614-624 Sep, 2016
Subject
Computing and Processing
Linux
Browsers
Approximation algorithms
Software testing
Software algorithms
Software
Combinatorial testing
test case generation
SAT solving
Language
Abstract
Combinatorial testing aims at covering the interactions of parameters in a system under test, while some combinations may be forbidden by given constraints (forbidden tuples). In this paper, we illustrate that such forbidden tuples correspond to unsatisfiable cores, a widely understood notion in the SAT solving community. Based on this observation, we propose a technique to detect forbidden tuples lazily during a greedy test case generation, which significantly reduces the number of required SAT solving calls. We further reduce the amount of time spent in SAT solving by essentially ignoring constraints while constructing each test case, but then “amending” it to obtain a test case that satisfies the constraints, again using unsatisfiable cores. Finally, to complement a disturbance due to ignoring constraints, we implement an efficient approximative SAT checking function in the SAT solver Lingeling. Through experiments we verify that our approach significantly improves the efficiency of constraint handling in our greedy combinatorial testing algorithm.