Finding Orthogonal Arrays Using Satisfiability Checkers and Symmetry Breaking Constraints

  • Feifei Ma
  • Jian Zhang
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5351)


Orthogonal arrays are very important combinatorial objects which can be used in software testing and other areas. Mathematical methods for constructing such arrays have been studied extensively in the past decades. In contrast, computer search techniques, in particular exhaustive search methods, are rarely used to solve the problem. In this paper, we present an algorithm which finds orthogonal arrays of given sizes or shows their non-existence. The algorithm is essentially a backtrack search procedure, but enhanced with some novel symmetry breaking (isomorphism elimination) techniques. The orthogonal array is generated column by column, and the constraints are checked by an efficient SAT solver or pseudo-Boolean constraint solver. We have implemented a tool called BOAS (Backtrack-style OA Searcher) using MiniSat and PBS. Experimental results show that our tool can find many orthogonal arrays quickly, especially those with strength higher than 2.


Symmetry Breaking Orthogonal Array Exhaustive Search Method Symmetry Breaking Constraint Current Column 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    Bennett, F.E., Zhang, H.: Latin Squares with Self-Orthogonal Conjugates. Discrete Mathematics 284(1–3), 45–55 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Black, R.: Pragmatic Software Testing. Wiley, Chichester (2007)Google Scholar
  4. 4.
    Brouwer, A.E., Cohen, A.M., Nguyen, M.V.M.: Orthogonal Arrays of Strength 3 and Small Run Sizes. J. Statistical Planning and Inf. 136(9), 3268–3280 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Colbourn, C.J., Dinitz, J.H.: Handbook of Combinatorial Designs, 2nd edn. CRC Press, Boca Raton (2007)zbMATHGoogle Scholar
  6. 6.
    Eén, N., Sorensson, N.: The MiniSat Page,
  7. 7.
    Hedayat, A.S., Sloane, N.J.A., Stufken, J.: Orthogonal Arrays: Theory and Applications. Springer Series in Statistics (1999)Google Scholar
  8. 8.
    Flener, P., et al.: Breaking Row and Column Symmetries in Matrix Models. In: Van Hentenryck, P. (ed.) CP 2002. LNCS, vol. 2470, pp. 462–476. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  9. 9.
    Krishnan, R., et al.: Combinatorial Testing: Learnings from Our Experience. ACM SIGSOFT Softw. Eng. Notes 32(3), 1–8 (2007)CrossRefGoogle Scholar
  10. 10.
    Law, Y.C., Lee, J.H.: Symmetry Breaking Constraints for Value Symmetries in Constraint Satisfaction. Constraints 11(2-3), 221–267 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Ma, F., Zhang, J.: Seaching for Orthogonal Arrays. ISCAS-LCS-07-05 (2007)Google Scholar
  12. 12.
    Robert, B., Prowse, J., Phadke, M.S.: Robust Testing of AT&T PMX/Star MAIL using OATS. AT&T Technical Journal 71(3), 41–47 (1992)CrossRefGoogle Scholar
  13. 13.
    Snepvangers, R.: Statistical Designs for High-Throughput Experimentation. Technical report, Stan Ackermans Institute (August 2006)Google Scholar
  14. 14.
    Walsh, T.: Symmetry Breaking using Value Precedence. In: Proc. ECAI 2006, pp. 168–172 (2006)Google Scholar
  15. 15.
    Xu, H.: An Algorithm for Constructing Orthogonal and Nearly-orthogonal Arrays with Mixed Levels and Small Runs. Technometrics 44, 356–368 (2002)MathSciNetCrossRefGoogle Scholar
  16. 16.
    Yamamoto, S., et al.: Algorithm for the Construction and Classification of Orthogonal Arrays and Its Feasibility. J. Combin. Inform. System Sci. 23, 71–84 (1998)MathSciNetzbMATHGoogle Scholar
  17. 17.
    Yan, J., Zhang, J.: Backtracking Algorithms and Search Heuristics to Generate Test Suites for Combinatorial Testing. In: Proceedings of COMPSAC, pp. 385–394 (2006); Extended version, to appear J. of Systems and Software Google Scholar
  18. 18.
    Zhang, J., Zhang, H.: SEM: A System for Enumerating Models. In: Proceedings of IJCAI 1995, pp. 298–303 (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Feifei Ma
    • 1
    • 2
  • Jian Zhang
    • 1
  1. 1.State Key Laboratory of Computer Science Institute of SoftwareChinese Academy of SciencesChina
  2. 2.Graduate University, Chinese Academy of SciencesChina

Personalised recommendations