SEJul 3, 2019

Using binary decision diagrams for constraint handling in combinatorial interaction testing

arXiv:1907.01779v15 citations
Originality Incremental advance
AI Analysis

This work addresses efficiency improvements in software testing for developers and testers, though it is incremental as it builds on existing test case generation algorithms like IPOG.

The paper tackled the problem of efficiently handling constraints in combinatorial interaction testing by investigating Binary Decision Diagrams (BDDs) for constraint checks, showing that two BDD-based approaches outperformed existing methods like SAT solving and CSP solving in empirical evaluations on 62 problem instances.

Constraints among test parameters often have substantial effects on the performance of test case generation for combinatorial interaction testing. This paper investigates the effectiveness of the use of Binary Decision Diagrams (BDDs) for constraint handling. BDDs are a data structure used to represent and manipulate Boolean functions. The core role of a constraint handler is to perform a check to determine if a partial test case with unspecified parameter values satisfies the constraints. In the course of generating a test suite, this check is executed a number of times; thus the efficiency of the check significantly affects the overall time required for test case generation. In the paper, we study two different approaches. The first approach performs this check by computing the logical AND of Boolean functions that represent all constraint-satisfying full test cases and a given partial test case. The second approach uses a new technique to construct a BDD that represents all constraint-satisfying partial test cases. With this BDD, the check can be performed by simply traversing the BDD from the root to a sink. We developed a program that incorporates both approaches into IPOG, a well-known test case generation algorithm. Using this program, we empirically evaluate the performance of these BDD-based constraint handling approaches using a total of 62 problem instances. In the evaluation, the two approaches are compared with three different constraint handling approaches, namely, those based on Boolean satisfiability (SAT) solving, Minimum Forbidden Tuples (MFTs), and Constraint Satisfiction Problem (CSP) solving. The results of the evaluation show that the two BDD-based approaches usually outperform the other constraint handling techniques and that the BDD-based approach using the new technique exhibits best performance.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes