Algorithms to Locate Errors Using Covering Arrays

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 log k 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 log k whenever d ∈ O(log log k).

[1]  M. J. Reilly,et al.  An investigation of the applicability of design of experiments to software testing , 2002, 27th Annual NASA Goddard/IEEE Software Engineering Workshop, 2002. Proceedings..

[2]  Eberhard Triesch,et al.  Searching for an edge in a graph , 1988, J. Graph Theory.

[3]  Gadiel Seroussi,et al.  Vector sets for exhaustive testing of logic circuits , 1988, IEEE Trans. Inf. Theory.

[4]  Siddhartha R. Dalal,et al.  Model-based testing in practice , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[5]  Donald T. Tang,et al.  Iterative Exhaustive Pattern Generation for Logic Testing , 1984, IBM J. Res. Dev..

[6]  B. Stevens,et al.  Covering arrays with mixed alphabet sizes , 2003 .

[7]  David C. Torney,et al.  Sets pooling designs , 1999 .

[8]  James Norman Cawse,et al.  Experimental Design for Combinatorial and High Throughput Materials Development , 2002 .

[9]  D E Shasha,et al.  Using combinatorial design to study regulation by multiple input signals. A tool for parsimony in the post-genomics era. , 2001, Plant physiology.

[10]  C. Colbourn Combinatorial aspects of covering arrays , 2006 .

[11]  Yossi Azar,et al.  Approximating Probability Distributions Using Small Sample Spaces , 1998, Comb..

[12]  Charles J. Colbourn,et al.  The density algorithm for pairwise interaction testing , 2007, Softw. Test. Verification Reliab..

[13]  C. L. Mallows,et al.  Applying design of experiments to software testing: experience report , 1997, ICSE '97.

[14]  C. L. Mallows,et al.  Applying Design of Experiments to Software Testing , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[15]  Robert Mandl,et al.  Orthogonal Latin squares: an application of experiment design to compiler testing , 1985, CACM.

[16]  Robert L. Probert,et al.  A measure for component interaction test coverage , 2001, Proceedings ACS/IEEE International Conference on Computer Systems and Applications.

[17]  D. Richard Kuhn,et al.  Software fault interactions and implications for software testing , 2004, IEEE Transactions on Software Engineering.

[18]  Charles J. Colbourn,et al.  A density-based greedy algorithm for higher strength covering arrays , 2009 .

[19]  Brett Stevens,et al.  Covering arrays on graphs: Qualitative independence graphs and extremal set partition theory , 2007, math/0701553.

[20]  Charles J. Colbourn,et al.  Locating and detecting arrays for interaction faults , 2008, J. Comb. Optim..