Mixed Covering Arrays on Graphs Presenter: Latifa Zekaoui Joint work with Karen Meagher and Lucia Moura to appear in the Journal of Combinatorial Designs.

Slides:



Advertisements
Similar presentations
Covers, Dominations, Independent Sets and Matchings AmirHossein Bayegan Amirkabir University of Technology.
Advertisements

C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
PERMUTATION CIRCUITS Presented by Wooyoung Kim, 1/28/2009 CSc 8530 Parallel Algorithms, Spring 2009 Dr. Sushil K. Prasad.
INTRODUCTION  The problem of classification of optimal ternary constant-weight codes (TCW) is considered  We use combinatorial and computer methods.
13 May 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Introduction.
Comp 122, Spring 2004 Greedy Algorithms. greedy - 2 Lin / Devi Comp 122, Fall 2003 Overview  Like dynamic programming, used to solve optimization problems.
Greedy Algorithms Greed is good. (Some of the time)
Edited by Malak Abdullah Jordan University of Science and Technology Data Structures Using C++ 2E Chapter 12 Graphs.
Edge-Coloring of Graphs On the left we see a 1- factorization of  5, the five-sided prism. Each factor is respresented by its own color. No edges of the.
Approximation Algorithms Chapter 5: k-center. Overview n Main issue: Parametric pruning –Technique for approximation algorithms n 2-approx. algorithm.
 Graph Graph  Types of Graphs Types of Graphs  Data Structures to Store Graphs Data Structures to Store Graphs  Graph Definitions Graph Definitions.
A polylogarithmic approximation of the minimum bisection Robert Krauthgamer The Hebrew University Joint work with Uri Feige.
Combinatorial Algorithms
Graphs – Basic Concepts
1 Maximum Flow w s v u t z 3/33/3 1/91/9 1/11/1 3/33/3 4/74/7 4/64/6 3/53/5 1/11/1 3/53/5 2/22/2 
CS774. Markov Random Field : Theory and Application Lecture 06 Kyomin Jung KAIST Sep
Chapter 3 The Greedy Method 3.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Polynomial-Time Approximation Schemes for Geometric Intersection Graphs Authors: T. Erlebach, L. Jansen, and E. Seidel Presented by: Ping Luo 10/17/2005.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Graph Algorithms: Shortest Path We are given a weighted, directed graph G = (V, E), with weight function w: E R mapping.
Algorithms for Maximum Induced Matching Problem Somsubhra Sharangi Fall 2008 CMPT 881.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Graph Theory Ch.5. Coloring of Graphs 1 Chapter 5 Coloring of Graphs.
ARCHEOLOGICAL SERIATION AND INTERVAL GRAPHS
Finding a maximum independent set in a sparse random graph Uriel Feige and Eran Ofek.
K-Coloring k-coloring: A k-coloring of a graph G is a labeling f: V(G)  S, where |S|=k. The labels are colors; the vertices of one color form a color.
The Maximum Independent Set Problem Sarah Bleiler DIMACS REU 2005 Advisor: Dr. Vadim Lozin, RUTCOR.
9.2 Graph Terminology and Special Types Graphs
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Chapter 12 Coping with the Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
1 Treewidth, partial k-tree and chordal graphs Delpensum INF 334 Institutt fo informatikk Pinar Heggernes Speaker:
Spring 2015 Lecture 11: Minimum Spanning Trees
Algorithms  Al-Khwarizmi, arab mathematician, 8 th century  Wrote a book: al-kitab… from which the word Algebra comes  Oldest algorithm: Euclidian algorithm.
Combinatorial Algorithms Reference Text: Kreher and Stinson.
Charles J. Colbourn Computer Science and Engineering Arizona State University, Tempe, AZ Charles J. Colbourn Computer Science and Engineering Arizona State.
1 Combinatorial Algorithms Parametric Pruning. 2 Metric k-center Given a complete undirected graph G = (V, E) with nonnegative edge costs satisfying the.
Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Presenter : Kuang-Jui Hsu Date : 2011/3/24(Thur.).
An Introduction to Graph Theory
Graph Theory and Applications
Algorithms, Complexity and Sorting academy.zariba.com 1.
GRAPHS. Graph Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component, spanning tree Types of graphs: undirected,
1 Finding a decomposition of a graph T into isomorphic copies of a graph G is a classical problem in Combinatorics. The G-decomposition of T is balanced.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
CS 721 Project Implementation of Hypergraph Edge Covering Algorithms By David Leung ( )
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
Timetable Problem solving using Graph Coloring
Fixed Parameter Tractability for Graph Drawing Sue Whitesides Computer Science Department.
Greedy Algorithms General principle of greedy algorithm
Minimum Spanning Trees
Introduction to Algorithms
Exact Algorithms via Monotone Local Search
Chapter 5. Optimal Matchings
Minimum Spanning Trees
Automatic Test Generation for N-way Combinatorial Testing
Graph Algorithms: Shortest Path
Trees-2, Graphs Data Structures with C Chpater-6 Course code: 10CS35
Graph Theory: Euler Graphs and Digraphs
Chapter 23: Minimum Spanning Trees: A graph optimization problem
Presentation transcript:

Mixed Covering Arrays on Graphs Presenter: Latifa Zekaoui Joint work with Karen Meagher and Lucia Moura to appear in the Journal of Combinatorial Designs School of Information and Technology University of Ottawa

2 Outline  Covering Arrays  Applications  Covering Arrays on Graphs  Mixed Covering Arrays on Graphs  Graph Homomorphisms  Mixed Qualitative Independence Graph  n-chromatic Graphs for n = 2,3,4,5  Graph Operations: Tree & Cycle Construction  Bipartite Graph Construction

3 Covering Array A Covering Array, denoted CA(N, k, g), is a k x N array with:   entries from Z g (g is the alphabet)   and between any two rows any pair from Z g occurs in some column. ( Pairs of rows satisfying this property are said to be Qualitatively Independent.) CAN(k, g) is the smallest N such that a CA(N, k, g) exists. Test light wiring in your home: 0 => OFF, 1 => ON room \ test: bedroom01110 hall01101 bathroom01011 kitchen00111 Example of an optimal CA: CAN(4, 2) = 5.

4 Applications Covering Arrays are used in:  Circuit Testing (Boroday and Grunskii, 1992)  Network Testing (Williams and Probert, 1996)  Software Testing (Cohen, Dalal, Fredman and Patton, 1997; Cheng, Dumitrescu and Schroeder, 2003) Patton, 1997; Cheng, Dumitrescu and Schroeder, 2003)

5 Software Testing Application Software Testing:  Test parameters individually.  But faults generally result from the interaction between certain parameters. parameters.  Test every possible combination of parameter values. g k GROWS EXPONENTIALLY!!  Enormous test suite sizes even for a small number of parameters.  Covering arrays are used to test interaction between every pair of parameters. Example: 10 parameters with 4 input values k = 10, g = 4, All possible interactions => 4 10 = 1,048,576 test suites. k = 10, g = 4, All pair-wise interactions => 29 test suites using a covering array. Asymptotic result (Gargano, Korner and Vaccaro, 1990) lim CAN( g, k) = log k k

6 Circuit Testing Application x1x1x1x1 x2x2x2x2 x3x3x3x3 x4x4x4x4 { x 3, x 4 } { x 1, x 2, x 3 } We do not need to test the interaction between {x 1, x 4 } or {x 2, x 4 }. x2x2 x1x1 x3x3 x4x4 Build this graph: Build a CA on the above graph.

7 Software Testing: Relevant Interactions Find the area of two triangles given P 1, P 2, P 3, H 1, H 2 each with 3 values. A1A1A1A1 P1P1P1P1 P2P2P2P2 P3P3P3P3 H2H2H2H2 H1H1H1H1 A2A2A2A2 calculateTriangleArea(P1, P2, P3, H1, H2) { A1 = 0.5 * (P2 – P1) * H1; A1 = 0.5 * (P2 – P1) * H1; A2 = 0.5 * (P3 – P2) * H2; return (A1, A2) } We do not need to test the interaction between {P 1, P 3 }, {P 1, H 2 }, {P 3, H 1 }, or {H 1, H 2 }. H1H1H1H1 P2P2P2P2 P1P1P1P1 P3P3P3P3 H2H2H2H2 Build this graph: Build a CA on the above graph.

8 Covering Arrays on Graphs A Covering Array on a Weighted Graph G, denoted CA(N, G, g), is a   k x N array where k = |V(G)|   with entries from Z g (g is the alphabet and weight on vertices)   rows for adjacent vertices are qualitatively independent CAN(G, g) is the smallest N such that a CA(N, G, g) exists. Test wiring in your home: room \ test: 1234 A: bedroom 0011 B: hall 0101 C: bathroom 0110 D: kitchen 0011 B: 2A: 2 C: 2D: 2 Graph G Example of an optimal CA: CAN(G, 2) = 4.

9 Covering Array A Covering Array, denoted CA(N, k, g), is a k x N array with:   entries from Z g (g is the alphabet)   and between any two rows any pair from Z g occurs in some column. ( Pairs of rows satisfying this property are said to be Qualitatively Independent.) CAN(k, g) is the smallest N such that a CA(N, k, g) exists. Test light wiring in your home: 0 => OFF, 1 => ON room \ test: bedroom01110 hall01101 bathroom01011 kitchen00111 Example of an optimal CA: CAN(4, 2) = 5.

10 Software Testing: Mixed Case Find the area of two triangles given P 1, P 2, P 3, H 1, H 2 each with a different number of values. A1A1A1A1 P1P1P1P1 P2P2P2P2 P3P3P3P3 H2H2H2H2 H1H1H1H1 A2A2A2A2 calculateTriangleArea(P1, P2, P3, H1, H2) { A1 = 0.5 * (P2 – P1) * H1; A1 = 0.5 * (P2 – P1) * H1; A2 = 0.5 * (P3 – P2) * H2; return (A1, A2) } We do not need to test the interaction between {P 1, P 3 }, {P 1, H 2 }, {P 3, H 1 }, or {H 1, H 2 }. H1H1H1H1 P2P2P2P2 P1P1P1P1 P3P3P3P3 H2H2H2H2 Build this graph: Build a CA on the above graph.

11 Mixed Covering Arrays on Graphs A Mixed Covering Array on a weighted Graph, denoted by A Mixed Covering Array on a weighted Graph G, denoted by has mixed alphabet sizes for different rows CA(N, G, g 1 g 2 …g k ), has mixed alphabet sizes for different rows in the graph. The Product Weight of a graph denoted is The Product Weight of a graph G, denoted PW(G), is PW(G) = max {w G (u) * w G (v) : {u,v} є E(G) }. CAN(G, g 1,g 2,…, g k ) ≥ PW(G) B: 3A: 2 C: 2D: 2 room \ test: A: bedroom B: hall C: bathroom D: kitchen Example of an optimal CA: CAN(G, 2 3 3) = 6. Graph G

12 v (v) v (v) w(v) = 5 w( (v)) = 4 Graph Homomorphisms A mapping from V(G) to V(H) is a graph homomorphism from G to H if for all v, w V(G), the vertices (v) and (w) are adjacent in H whenever v and w are adjacent in G. Let G and H be weighted graphs. A mapping from V(G) to V(H) is a weight-restricted graph homomorphism, denoted G H, if is a graph homomorphism from G to H such that w G (v) ≤ w H ( (v)), for all v V(G). v w(w) (v) G H G H v (v) v (v) w(v) = 5 w( (v)) = 7

13 Graph Homomorphisms Theorem 1: (Meagher, Moura, Zekaoui) Let G and H be weighted graphs with weights g 1, g 2,…, g k and h 1, h 2, …, h l respectively. If there exists a weight-restricted graph homomorphism : G H then CAN(G, ) ≤ CAN(H, ). : G H then CAN(G, ) ≤ CAN(H, ). Theorem 2: (Meagher, Moura, Zekaoui) Let G be a weighted graph with k vertices and g 1 ≤ g 2 ≤…≤ g k be positive weights. Then, CAN(K ω(G), ) ≤ CAN(G, ) ≤ CAN(K Χ(G), ). The following theorems are generalizations of work done by Meagher and Stevens (2002) for the uniform alphabet case.

14 n-chromatic Graphs for n = 2,3,4,5 Theorem 3: (Meagher, Moura, Zekaoui) Let G be a weighted graph with k vertices with weights g 1 ≤ g 2 ≤ … ≤ g k. If one of the following holds: 1) χ(G) = 2, 3, 2) χ(G) = 4 and {2 4, 6 4 }, or 3) χ(G) = 5 and {2 5, 3 5, 23 4 } and g k-1 {4, 6, 10}, then CAN(G, ) ≤ g k-1 g k. The covering array number we are providing is an upper bound. From Theorem 2 and results from the paper by Moura, Stardom, Stevens, and Williams (2003), we get the next theorem.

15 Mixed Qualitative Independence Graph Mixed Qualitative Independence Graph, denoted QI(N, ), is a graph :  whose vertex set is the set of all g i -partitions of an N-set  vertices are adjacent if and only if their corresponding partitions are qualitatively independent. Example: QI(6, 2x3) g 1 = 2 g 2 = | | | | | 26 | | 35 | | 25 | 46

16 (Meagher, Moura, Zekaoui) Corollary 5: (Meagher, Moura, Zekaoui) Let N be a positive integer and let G be a weighted graph with g 1, g 2,…, g r, repeated distinct weights g 1, g 2,…, g r, repeated s 1, s 2, …, s r times, respectively. If ω(G) > ω(QI(N, ) or Χ(G) > Χ(QI(N, ), then CAN(G, s i ) > N. Theorem 4: (Meagher, Moura, Zekaoui) For a weighted graph G and positive integers N and g 1, g 2,…, g k there exists a CA(N, G, ) if and only if there exists a weight-restricted graph homomorphism G QI(N, ). Mixed Qualitative Independence Graph

17 Mixed Covering Arrays on Graphs The problem of finding an optimal covering array on a general graph has been shown to be NP-hard, even when restricted to the binary alphabet case. (Seroussi and Bshouty, 1988) We will build optimal covering arrays for special classes of graphs:   trees,   cycles, and   bipartite graphs. From Theorem 3, for G in one of these classes we have CAN(G, g 1,g 2,…,g k ) ≤ g k-1 g k. Theorem 6: (Meagher, Moura, Zekaoui) Let G be a weighted tree, cycle or bipartite graph then, CAN(G, g 1,g 2,…,g k ) = PW(G).

18 Graph Operations   One-vertex Edge Hooking Insert a new edge where one end is in V(G) and the other is a new vertex.   Edge Duplication Create an edge that is parallel to an existing edge in G.   Weight-Restricted Edge Subdivision Edge subdivision such that if x is the new vertex in G adjacent to vertices y and z then w G (x)w G (y) ≤ PW(G) and w G (x)w G (z) ≤ PW(G). The above operations will have no effect on the covering array number of the modified graph.

19 4 Optimal Tree Construction  Build a tree T by starting with an edge {u, v} such that PW(T) = w(u) * w(v).  Next, apply successive one-vertex edge-hooking in the proper order so as to obtain T.  CAN(T, g 1 g 2 …g k )=PW(T) PW(T) = 15 PW(T) =

20 Optimal Cycle Construction To build a CA on the cycle C below with PW(C) = 9 Step 1: Step 3: Step 5: Step 2: Step 4: A: B: E: C: D: CA(9, C, ) A:3 B:3 C:2D:4 E:

Graph G: PW(G) = 12 Graph G: PW(G) = 12 Optimal Bipartite Construction Repeat the symbols 0,1,…, g-1 (PW(G) / g i ) times Repeat each symbol 0,1,…, g-1 (PW(G) / g i ) times

22 Future Work Finding Optimal Covering Arrays for other classes of graphs  Solved for the uniform alphabet size cubic graphs and wheels wheels Implementing Tabu Search Methods for Covering Arrays  Stardom’s Algorithm (2001).  Nurmela’s Algorithm (2004).  Moura and Zekaoui’s Algorithm (in progress) which combines greedy techniques with a tabu search which combines greedy techniques with a tabu search method that adds or deletes a test case at each iteration. method that adds or deletes a test case at each iteration.

23 References  S.Y. Boroday and I.S Grunskii. Recursive generation of locally complete tests. Cybernetics and Systems Analysis 28 (1992), Systems Analysis 28 (1992),  C. Cheng, A. Dumitrescu and P. Schroeder. Generating small combinatorial test suites to cover input-output relationships. Proceedings of the Third International Conference on Quality input-output relationships. Proceedings of the Third International Conference on Quality software. Dallas (2003), p software. Dallas (2003), p  D.M.Cohen, S.R.Dalal, M.L.Fredman, and G.C.Patton. The AETG system: an approach to testing based on combinatorial design. IEEE Transactions on Software Engineering. 23(1997), testing based on combinatorial design. IEEE Transactions on Software Engineering. 23(1997), p p  C.J.Colbourn. Combinatorial aspects of covering arrays. Le Matematiche(Catania) 58(2004), p p  L.Garagano, J.Korner, and U.Vaccaro. Capacities: from information to extremal set theory. Journal of Combinatorial Theory. 68(1994), p Journal of Combinatorial Theory. 68(1994), p  K. Meagher, L. Moura, L. Zekaoui. Mixed Covering Arrays on Graphs. Journal of Combinatorial design. to appear. design. to appear.  K. Meagher, B. Stevens. Covering arrays on graphs. Journal Combinatorial Theory. Ser. B 95(2005), p (2005), p  L. Moura, J. Stardom, B. Stevens, A. Williams. Covering Arrays with Mixed Alphabet Sizes. Journal of Combinatorial Design. 11(2003), p Journal of Combinatorial Design. 11(2003), p  G. Seroussi and N.H.Bshouty. Vector sets for exhaustive testing of logic circuits. IEEE Trans. on Infor. Theory. 34(1988), p on Infor. Theory. 34(1988), p  A.Williams and R.L.Probert. A measure for component interaction test coverage. IEEE(2001), p p

24 THANK YOU