Algorithms to Locate Errors Using Covering Arrays

  • Conrado Martínez
  • Lucia Moura
  • Daniel Panario
  • Brett Stevens
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4957)


In this paper, we define error locating arrays (ELAs), which can be used to locate faulty interactions between parameters or components in a software system. We give constructions of ELAs based on covering arrays. Under certain assumptions on the structure of the faulty interactions, we design and analyse efficient algorithms that locate errors. Under the assumption of known “safe values”, our algorithm performs a number of tests that is polynomial in logk and d, where k is the number of parameters in the system and d is an upper bound on the number of faulty pairwise interactions. For the binary alphabet case, we provide an algorithm that does not require safe values and runs in expected polynomial time in logk whenever d ∈ O(loglogk).


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aigner, M., Triesch, E.: Searching for an edge in a graph. J. Graph Theory 12, 45–57 (1988)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Azar, Y., Motwani, R., Naor, J.: Approximating probability distributions using small sample spaces. Combinatorica 18, 151–171 (1998)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Bryce, R.C., Colbourn, C.J.: A density algorithm for pairwise interaction testing. Softw. Test. Verif. Reliab. 17, 159–182 (2007)CrossRefGoogle Scholar
  4. 4.
    R.C. Bryce and C.J. Colbourn, A density-based greedy algorithm for higher strength covering arrays, 17 pages, (preprint, July 2007)Google Scholar
  5. 5.
    Burr, K., Young, W.: Combinatorial test techniques: Table-based automation, test generation, and code coverage. In: Proc. Intl. Conf. on Soft. Test. Anal. and Rev., October 1998, pp. 503–513. ACM, New York (1998)Google Scholar
  6. 6.
    J.N. Cawse, Experimental design for combinatorial and high throughput materials development, GE Global Research Technical Report 29, 769–781 (2002)Google Scholar
  7. 7.
    Colbourn, C.J.: Combinatorial aspects of covering arrays. Le Matematiche (Catania) 58, 121–167 (2004)Google Scholar
  8. 8.
    Colbourn, C.J., McClary, D.W.: Locating and detecting arrays for interaction faults. Journal of Combinatorial Optimization (accepted, April 2007) (to appear)Google Scholar
  9. 9.
    Dalal, S.R., Karunanithi, A.J.N., Leaton, J.M.L., Patton, G.C.P., Horowitz, B.M.: In: Model-based testing in practice, In: Proc. Intl. Conf. on Software Engineering (ICSE 1999), pp. 285–294 (1999)Google Scholar
  10. 10.
    Danziger, P., Mendelsohn, E., Moura, L., Stevens, B.: Covering arrays without forbidden pairs, p. 10 (preparation, 2007)Google Scholar
  11. 11.
    Dunietz, S., Ehrlich, W.K., Szablak, B.D., Mallows, C.L., Iannino, A.: Applying design of experiments to software testing. In: Proc. Intl. Conf. on Software Engineering (ICSE 1997), October 1997, pp. 205–215. IEEE, Los Alamitos (1997)CrossRefGoogle Scholar
  12. 12.
    Kuhn, D.R., Reilly, M.: An investigation of the applicability of design of experiments to software testing. In: Proc. 27th Annual NASA Goddard/IEEE Software Engineering Workshop, October 2002, pp. 91–95. IEEE, Los Alamitos (2002)Google Scholar
  13. 13.
    Kuhn, D.R., Wallace, D.R., Gallo, A.M.: Software fault interactions and implications for software testing. IEEE Trans. Soft. Eng. 30, 418–421 (2004)CrossRefGoogle Scholar
  14. 14.
    Martínez, C., Moura, L., Panario, D., Stevens, B.: Locating errors using ELAs, covering arrays and adaptive testing algorithms, p. 35 (in preparation, 2007) (full article version of this extended abstract)Google Scholar
  15. 15.
    Mandl, R.: Orthogonal latin squares: An application of experiment design to compiler testing. Communic. of the ACM 28, 1054–1058 (1985)CrossRefGoogle Scholar
  16. 16.
    Meagher, K., Stevens, B.: Covering arrays on graphs. J. Combin. Theory. Ser. B 95, 134–151 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Moura, L., Stardom, J., Stevens, B., Williams, A.W.: Covering arrays with mixed alphabet sizes. J. Combin. Des. 11, 413–432 (2003)zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Shasha, D.E., Kouranov, A.Y., Lejay, L.V., Chou, M.F., Coruzzi, G.M.: Using combinatorial design to study regulation by multiple input signals: A tool for parsimony in the pos-genomics era. Plant Physiology 127, 1590–2594 (2001)CrossRefGoogle Scholar
  19. 19.
    Seroussi, G., Bshouty, N.H.: Vector sets for exhaustive testing of logic circuits. IEEE Transactions on Information Theory 34, 513–522 (1988)zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    Tang, D.T., Chen, C.L.: Iterative exhaustive pattern generation for logic testing. IBM Journal Research and Development 28, 212–219 (1984)zbMATHGoogle Scholar
  21. 21.
    Torney, D.C.: Sets pooling designs. Ann. Comb. 3, 95–101 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    Williams, A.W., Probert, R.L.: A measure for component interaction test coverage. In: Proc. ACS/IEEE Intl. Conf. Comput. Syst. & Applic., pp. 301–311 (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Conrado Martínez
    • 1
  • Lucia Moura
    • 2
  • Daniel Panario
    • 3
  • Brett Stevens
    • 3
  1. 1.Universitat Politècnica de Catalunya 
  2. 2.University of Ottawa 
  3. 3.Carleton University 

Personalised recommendations