Combinatorial interaction testing (CIT) is a popular approach to detecting faults in highly configurable software systems. The core task is to generate a small test suite called a t-way covering array (CA), where t is the covering strength. Empirical studies suggest that most of the failures in highly-configurable systems are caused by the interaction of a limited number of t options, usually between two and six. These failures can be revealed efficiently and effectively by a t-way CA.
We developed solvers for constrained combinatorial interaction testing, aiming to generate CAs as small as possibles, while consuming reasonable short time.
Instance | FastCA (1000s) | FastCA (100s) | ACTS (1000s) | HHSA (1000s) | CASA (1000s) | |||||
---|---|---|---|---|---|---|---|---|---|---|
min (avg) | time | min (avg) | time | min | time | min (avg) | time | min (avg) | time | |
apache | 133 (134.7) | 716.77 | 141 (142.7) | 79.12 | 173 | 7.92 | -- | >1000 | 245 (247.9) | 920.36 |
bugzilla | 48 (48) | 17.35 | 48 (48) | 17.35 | 68 | 0.44 | 60 (60.9) | 481.55 | 61 (64.6) | 36.38 |
gcc | 75 (76.8) | 561.74 | 79 (80.6) | 75.44 | 108 | 9.48 | -- | >1000 | 134 (140) | 943.47 |
spins | 80 (80) | 1.17 | 80 (80) | 1.17 | 98 | 0.37 | 80 (85.7) | 59.55 | 94 (100.5) | 7.14 |
spinv | 195 (196) | 415.45 | 196 (197.4) | 65.26 | 286 | 1.27 | -- | >1000 | 224 (233.1) | 734.92 |
tcas | 400 (400) | 0.47 | 400 (400) | 0.47 | 405 | 0.32 | 400 (400) | 337.88 | 400 (404.1) | 4.27 |
Banking1 | 45 (45) | 4.11 | 45 (45) | 4.11 | 58 | 2.07 | 45 (45) | 9.9 | 45 (46.2) | 0.09 |
Banking2 | 30 (30) | 0.66 | 30 (30) | 0.66 | 39 | 0.44 | 30 (30) | 1.1 | 30 (30.4) | 0.35 |
CommProto. | 41 (41) | 16.68 | 41 (41) | 16.68 | 49 | 3.22 | 41 (41) | 76.94 | 41 (42.2) | 0.25 |
Concurrency | 8 (8) | 0.31 | 8 (8) | 0.31 | 8 | 0.51 | 8 (8) | 7.51 | 8 (8) | <0.01 |
Healthcare1 | 96 (96) | 0.8 | 96 (96) | 0.8 | 105 | 0.65 | 96 (96) | 53.61 | 96 (96.6) | 0.3 |
Healthcare2 | 50 (50.9) | 225.47 | 50 (51.4) | 26.74 | 67 | 1.26 | 51 (52.1) | 23.5 | 53 (55.1) | 6.16 |
Healthcare3 | 151 (151.5) | 325.85 | 151 (152.4) | 48.69 | 209 | 0.92 | 177 (186.9) | 373.89 | 170 (175) | 237.96 |
Healthcare4 | 238 (239) | 417.3 | 240 (240.7) | 56.61 | 294 | 1.21 | 320 (346.667) | 725.21 | 278 (286.7) | 835.15 |
Insurance | 6851 (6851) | 1.74 | 6851 (6851) | 1.74 | 6866 | 0.54 | -- | >1000 | 7027 (7156.4) | 770.29 |
NetworkMg. | 1100 (1100) | 1.14 | 1100 (1100) | 1.14 | 1125 | 0.59 | 1100 (1100) | 440.68 | 1124 (1136.8) | 5.72 |
Proc.Comm1 | 104 (104.8) | 160.59 | 105 (105.3) | 32.23 | 163 | 0.63 | 114 (117.6) | 90.78 | 117 (120.7) | 111.51 |
Proc.Comm2 | 125 (125.6) | 189.36 | 125 (126.2) | 53.81 | 161 | 1.64 | 140 (148.2) | 572.5 | 140 (145) | 236.73 |
Services | 813 (815.2) | 685.53 | 829 (834.2) | 81.4 | 963 | 10.35 | 840 (860) | 789.42 | 856 (894) | 464.39 |
Storage1 | 25 (25) | 2.05 | 25 (25) | 2.05 | 25 | 1.52 | 25 (25) | 15.53 | 25 (25) | <0.01 |
Storage2 | 54 (54) | 0.09 | 54 (54) | 0.09 | 74 | 0.03 | 54 (54) | 15.9 | 54 (55.8) | 0.02 |
Storage3 | 222 (222) | 3.43 | 222 (222) | 3.43 | 239 | 1.54 | 224 (225.1) | 675.16 | 241 (245.8) | 1.83 |
Storage4 | 910 (910) | 3.62 | 910 (910) | 3.62 | 990 | 0.76 | 960 (960) | 853.39 | 926 (951.6) | 723.84 |
Storage5 | 1705 (1706.9) | 445.17 | 1707 (1710.3) | 72.45 | 1879 | 2.93 | -- | >1000 | 1877 (1958.3) | 971.23 |
SystemMg. | 45 (45) | 1.65 | 45 (45) | 1.65 | 60 | 0.49 | 45 (45.2) | 16.6 | 47 (48.3) | 0.3 |
Telecom | 120 (120) | 0.57 | 120 (120) | 0.57 | 126 | 0.53 | 120 (120) | 12.4 | 120 (120.4) | 0.37 |