CTLog: SAT-Based Combinatorial Testing in Python

CTLog is a complete framework for Combinatorial Testing of Constrained Systems Under Test developed by the Logic & Optimization Group (LOG) at the University of Lleida. It uses Satisfiability (SAT) technology through the OptiLog Python framework, also developed and mantained by the same research group.

CTLog implements all the algorithms that we developed in our research, such as MaxSAT MCAC and maxsat-its [AMO+22] and all the family of the BOT-its [AnsoteguiOT21] algorithms. It also implements several state-of-the-art algorithms for generating Mixed Covering Arrays with Constraints, such as IPOG [LKK+08] or CALOT [YKA+15].

Additionally, we provide the SUT-G generator, which can be used to generate new Constrained Systems Under Tests where all these MCAC algorithms can be applied.

If you use CTLog in your research please cite our work:

@article{DBLP:journals/corr/abs-2105-12552,
    title    = {Incomplete {MaxSAT} approaches for combinatorial testing},
    volume   = {28},
    issn     = {1572-9397},
    url      = {https://doi.org/10.1007/s10732-022-09495-3},
    doi      = {10.1007/s10732-022-09495-3},
    language = {en},
    number   = {4},
    urldate  = {2022-09-02},
    journal  = {Journal of Heuristics},
    author   = {Ansótegui, Carlos and Manyà, Felip and Ojeda, Jesus and Salvia, Josep M. and Torres, Eduard},
    month    = aug,
    year     = {2022},
    keywords = {Combinatorial testing, Constraint programming, Maximum satisfiability},
    pages    = {377--431}
}

CTLog in our research

In the following we present the list of algorithms used in our research that are implemented in CTLog: