A cycle in a graph is a simple closed walk. The Conjecture: For every bridgeless G and every
following Double Cover Conjecture is one of the cycle C of G, there is a cycle double cover of G
most famous problems in graph theory. It is due containing C.
independently to Szekeres [Sz] and Seymour [Se].
Partial results are too numerous to mention here. I
Conjecture: Every bridgeless graph has a refer the interested reader to the survey article by
collection of cycles which together contain every Jaeger [J].
edge exactly twice.
A dual form of the problem is called "Fulkerson's
The conjecture is almost easy. Form G_2 from G Conjecture".
by replacing each edge with two parallel edges.
Then G_2 has every vertex of even degree. It
follows easily from induction that G_2 has an edge
partition into cycles. However, some of these
cycles may be of length two and hence do not
correspond to cycles in a double cover of G.
A stumbling block to inductive proofs has been
found in many different contexts. Namely, suppose
that each edge e is assigned a weight w(e) = 1 or 2
so that at each vertex the sum of the weights is
even. Can we find a cycle cover so that each edge e
is used w(e) times? No. A counterexample is
formed from the Petersen graph (of course) by
assigning weights 2 on a perfect matching and
weights 1 on two disjoint 5-cycles.
There are several variations of a topological nature.
For example there is the Circular Embedding
Conjecture: Every 2-connected graph has an
embedding in some surface such that each face is
bounded by a simple cycle.
The face boundaries form a cycle double cover.
The two conjectures are equivalent for cubic
graphs, but the second is stronger for noncubic
graphs. An even stronger conjecture asserts that the
faces of the circular embedding can be properly 5-
colored. Likewise one could require the embedding
to be in an orientable surface.
A stronger conjecture due to Goddyn [G] allows
you to fix one cycle in the cover.
Algorithm proceeds in two steps: - (1) Test Case 13. To achieve this, now we make use of the
Generation Step  and (2) Optimization Step . bridges that we found out / stored at the end of step
4.1 Test Case Generation  Criteria:- 14. From the original graph, we now remove all the
edges that occur in the MST found in step 12 but
1. First of all, the user provides us with the SRS do not occur in the set of bridges. Our motive
(Software Requirement Specification) of the behind this is that we do not want to make the
software that he/she wants to get developed. graph disconnected at any point of time.
2. Based upon this SRS, a UML state chart diagram 15. Say, we obtain graph G’ after step 14. Now we
for the SUT is prepared either manually or using again apply step 11 (i.e. MST finding algorithm) on
some software tool which can automatically build a this particular graph to obtain another MST.
UML diagram on feeding it with a SRS. 16. Now, step 15 is repeated until we are left with
3. Based upon this UML diagram, the specification only the set of bridges. Or, in other words, we are
in terms of the states and transitions among them is able to find as many spanning trees of the original
provided to the software that has been built for this state transition diagram / graph as possible.
purpose to obtain the state transition diagram.
4. Note that, we also need to provide the weight /
cost associated with each transition (which is 4.2 Optimization  Criteria:-
actually provided by the user based on his/her
requirements). Also, a key value is associated with 1. The graph based approach to software testing,
each of the state which is initially ∞ (infinity) for that we have proposed here, uses the concept of
all the states. Minimal Spanning Tree.
5. We will ignore self loops, if any, in the UML 2. A Minimal Spanning Tree T of a graph G covers
diagram, while building the state transition all the vertices V of G and only those edges which
diagram. The reason being that test sequence do not form any cycle among themselves.
generation, in our case, is primarily based upon 3. These edges are such that the total weight of tree,
Prim Jarnik Algorithm, which does not take into got by summing the weights of the containing
account the self loops (like any other minimal edges, is the minimum among all possible trees in
spanning tree finding algorithm) while calculating graph G.
the MST. Once a vertex gets added in the cloud, it 4. Based on this, any path from the initial node to
immediately gets removed from the heap of other the terminal node, via any frontier node, carries the
vertices which are yet to be taken into account. least weight among all the paths via that particular
6. Regarding parallel edges between any two states frontier node.
(s1 & s2, with weight say, w), that is equivalent to 5. In each iteration ‘i’, as we delete some edges, as
adding a new state (s3) in between those two states, described in the above Test Sequence Generation
such that the transition from s1 to s3 carries weight Algorithm, the path from the starting node to the
zero and that from s3 to s2 carries weight w. terminal node via any frontier node (say p [i]), is
7. After taking into account all the above points, we always carrying the least weight due to loop
apply the algorithm on the graph obtained after step invariance property of the proposed algorithm.
no. 5. 6. In this way, the path got in the first iteration of
8. Now, there might be some cut edges / bridges in the Test Sequence Generating Algorithm (i.e. p )
the graph (discussed in section 3.3). is the most optimal path in the graph from the
9. So, our first step is to apply the bridge finding starting to the terminal node.
algorithm described in section 3.4 to the graph. 7. In the ith iteration, the path got between the
10. Once we get all the cut edges in this graph, we starting and the terminal node, i.e. p [i], is the ith
store them in a suitable data structure (say an array) most optimal path.
for easy reference in later steps of the algorithm. 8. Thus by applying the proposed Test Sequence
11. Now, we aim for finding the minimal spanning Generation Algorithm, we get all possible
tree (MST) in the graph on the basis of the key transitions from the starting node to the terminal
associated with each node and weight associated node, and these paths are generated according to a
with every transition. ranking associated with them based on their
12. This is the first MST that we obtain at the end optimality.
of this step. Now, our aim is to find all the other 9. The set of paths got from the Test Sequence
MST’s of this particular graph so that we are able Generation Algorithm is the Optimal Test
to cover all the transitions. Sequence that covers all the States and the
Transitions in the State Transition Graph.
size O.n=2i / (1 · i · log n) and so that each MST
edge is the solution to one of the closest pair
Higher dimensional MSTs problems.
The methods described above, for constructing Proof: For simplicity of exposition we demonstrate
graphs containing the minimum spanning tree, all the result in the case that d D 2; the higher
generalize to higher dimensions. However Lemma dimensional versions follow analogously. If pq is a
2 is not so informative, because the Delaunay minimum spanning tree edge, and w is a double
triangulation may form a complete graph. Lemma 3 wedge having sufficiently small interior angle, with
is more useful; Yao  used it to find minimum p in one half of w and q in the other, then pq must
spanning trees in time O.n2¡²d / where for any have the minimum distance over all such pairs
dimension d, ²d is a (very small) constant. Agarwal defined by the points in w. Therefore if F is a
et al.  found a more efficient method for high family of double wedges with sufficiently
dimensional minimum spanning trees, via small interior angles, such that for each pair of
bichromatic nearest neighbors. If we are given two points .p; q/ some double wedge w.p; q/ in F has p
sets of points, one set colored red and the other on one side and q on the other, then every MST
colored blue, the bichromatic nearest neighbor pair edge pq is the bichromatic closest pair for wedge
is simply the shortest red-blue edge in the complete w.p; q/. Suppose the interior angle required is
geometric graph. It is not hard to show that this 2¼=k. We can divide the space around each point p
edge must belong to the minimum spanning tree, so into k wedges, each having that interior angle.
finding bichromatic nearest neighbors is no harder Suppose edge pq falls inside wedge w. We find a
than computing minimum spanning trees. Agarwal collection of
et al. show that it is also no easier; the two double wedges, with sides parallel tow, that is
problems are equivalent to within a polylogarithmic guaranteed to contain pq. By repeating the
factor. The intersection of any d halfspaces forms a construction k times, we are guaranteed to find a
simplicial cone, with an apex where the three double wedge containing each possible edge.
bounding hyperplanes meet. We define a double For simplicity, assume that the sides of wedge w
cone to be the union of two simplicial cones, where are horizontal and vertical. In the actual
the halfspaces defining the second cone are construction, w will have a smaller angle than ¼=2,
opposite those defining the first cone on the same but the details are similar. First choose a horizontal
bounding hyperplanes. Such a double cone line with at most n=2 points above it, and at most
naturally defines a pair of point sets, one in each n=2 points below. We continue recursively with
cone. Define the opening angle of a cone to be the each of these two subsets; therefore if the line does
maximum angle uvw where v is the apex and u and not cross pq, then pq is contained in a closest pair
w are in the cone. The opening angle of a double problem generated in one of the two recursive
cone is just that of either of the two cones forming subproblems. At this point we have two sets, above
it. and below the line. We next choose a vertical line,
Lemma 4 (Agarwal et al.). There is a constant ® again dividing the point set in half. We continue
such that, if pq is a minimum spanning tree edge, recursively with the pairs of sets to the left of the
and PQ are the points in the two sides of a double line, and to the right of the line. If the line does 4
cone with opening angle at most ®, with p 2 P and Figure 2. A fair split tree. not cross pq, then pq will
q 2 Q, then pq is the bichromatic nearest neighbor be covered by a recursive subproblem. If both lines
pair of P and Q. crossed pq, so that it was not covered by any
The proof involves using Lemma 3 to show that p recursive subproblem, then w.p; q/ can be taken to
and q must be mutual bichromatic nearest be one of two bichromatic closest pair problems
neighbors. It then uses geometric properties of formed by opposite pairs of the quadrants formed
cones to show that, if there were a closer pair p0q0, by the two lines. The inner recursion (along the
then pp0 and qq0 would also have to be smaller vertical lines) gives rise to one subproblem
than pq, contradicting the property of minimum containing p at each level of the recursion, and each
spanning trees that any two points are connected by level halves the total number of points, so p ends
a path with the shortest possible maximum edge up involved in one problem of each possible size
length. One can then use this result to find a graph n=2i . The outer recursion generates an inner
containing the minimum spanning tree, by solving recursion at each possible
a collection of bichromatic closest pair problems size, giving i problems total of each size n=2i . The
defined by a sequence of double cones, such that construction must be repeated for each of the k
any edge of the complete geometric graph is wedge angles, multiplying the bounds by O.1/. 2
guaranteed to be contained by some double cone. Theorem 2 (Agarwal et al.). We can compute the
Lemma 5 (Agarwal et al.). Given a set of n points Euclidean minimum spanning tree of a d-
in Rd , we can form a hierarchical collection of O.n dimensionalpoint set in randomized expected time
logd¡1 n/ bi-chromatic closest pair problems, so O..n log n/4=3/ for d D 3, or deterministically in
that each point is involved in O.i d¡1/ problems of