Abstract

Covering arrays are combinatorial designs used as test-suites in software and hardware testing. Because of their practical applications, the construction of covering arrays with a smaller number of rows is desirable. In this work we develop a greedy-metaheuristic 3-stage approach to construct covering arrays that improve some of the best-known ones. In the first stage, a covering perfect hash family is created using a metaheuristic approach; this initial array may not be complete, and so the derived covering array may have missing tuples. In the second stage, the covering perfect hash family is converted to a covering array and, in case there are missing tuples, a greedy approach completes the covering array through the addition of some rows. The third stage is an iterative postoptimization stage that combines two greedy algorithms and a metaheuristic algorithm; the greedy algorithms detect and reduce redundancy in the covering array, and the metaheuristic algorithm covers the tuples that may become uncovered after the reduction of redundancy. The effectiveness of our greedy-metaheuristic 3-stage approach is assessed through the construction of covering arrays of order four and strengths 3–6; the main results are the improvement of 9473 covering arrays of strength three, 9303 of strength four, 2150 of strength five, and 291 of strength six. To see how to apply covering arrays to real testing scenarios, the final part of this work presents the use of covering arrays of order four for setting up a composting process.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call