Journal of Automated Reasoning

, Volume 45, Issue 4, pp 331-358

First online:

A Formal Logic Approach to Constrained Combinatorial Testing

  • Andrea CalvagnaAffiliated withDip. Ingegneria Informatica e delle Telecomunicazioni, University of Catania
  • , Angelo GargantiniAffiliated withDip. Metodi Matematici e Ingegneria dell’Informazione, University of Bergamo Email author 

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


Combinatorial testing is as an effective testing technique to reveal failures in a given system, based on input combinations coverage and combinatorial optimization. Combinatorial testing of strength t (t ≥ 2) requires that each t-wise tuple of values of the different system input parameters is covered by at least one test case. Combinatorial test suite generation algorithms aim at producing a test suite covering all the required tuples in a small (possibly minimal) number of test cases, in order to reduce the cost of testing. The most used combinatorial technique is the pairwise testing (t = 2) which requires coverage of all pairs of input values. Constrained combinatorial testing takes also into account constraints over the system parameters, for instance forbidden tuples of inputs, modeling invalid or not realizable input values combinations. In this paper a new approach to combinatorial testing, tightly integrated with formal logic, is presented. In this approach, test predicates are used to formalize combinatorial testing as a logical problem, and an external formal logic tool is applied to solve it. Constraints over the input domain are expressed as logical predicates too, and effectively handled by the same tool. Moreover, inclusion or exclusion of select tuples is supported, allowing the user to customize the test suite layout. The proposed approach is supported by a prototype tool implementation and results of experimental assessment are also presented.


Model-based testing Combinatorial testing Test generation