.. _ipog: IPOG ==== The In Parameter Order General algorithm (IPOG) :cite:p:`https://doi.org/10.1002/stvr.381` is a widely-used MCAC algorithm. IPOG is implemented in several CT libraries such as `ACTS `_, which is used by more than 4000 corporate and university users. In our implementation of IPOG we use SAT technology to efficiently handle SUT constraints. We show in our work *A Benchmark Generator for Combinatorial Testing (under review)* that this implementation is able to obtain better runtimes than the Constraint Programming version of IPOG in ACTS in most of the tested instances. Here we show an example of its execution over the SUT presented in :ref:`handson-ctlog` for strength 2: .. code-block:: console ctlog IPOG sut.acts -t 2 .. code-block:: c Params domains: [5, 4, 4, 2] c Fixing first parameters: [0, 1] c Num tests: 14 c ***** Extending parameter '2' (3 of 4 params; domain: 4) ***** c Num tuples: 36 c Horizontal extension. Num covered: 25 c Vertical growth. Num fit: 0; New tests: 8; Num fit in new: 0; Num forbidden: 3 c ***** Extending parameter '3' (4 of 4 params; domain: 2) ***** c Num tuples: 26 c Horizontal extension. Num covered: 22 c Vertical growth. Num fit: 0; New tests: 0; Num fit in new: 0; Num forbidden: 4 c T: OS,Pl,Re,Or c T: L,F,K,L c T: L,C,F,L c T: W,F,F,L c T: W,C,K,L c T: M,F,H,L c T: M,S,K,L c T: M,C,W,L c T: i,F,W,P c T: i,S,F,P c T: i,C,H,P c T: i,A,F,L c T: A,F,F,P c T: A,C,H,L c T: A,A,W,P c T: L,F,H,L c T: L,F,W,L c T: W,F,H,L c T: W,F,W,L c T: M,F,F,L c T: M,S,H,L c T: M,S,W,L c T: i,A,H,L Test suite size: 22 Validating MCAC... VALIDATION OK Num covered: 69 Num forbidden: 13 For a complete list of all the available parameters for the IPOG algorithm see the :ref:`cli`.