07.01.2013 Views

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3 State Verification 83<br />

S<strong>in</strong>ce the mach<strong>in</strong>e M is assumed to be determ<strong>in</strong>istic, there is only one possible<br />

path from each state <strong>in</strong> G(a/b). If this path ends <strong>in</strong> a s<strong>in</strong>k it is called l<strong>in</strong>ear,<br />

otherwise it is cyclic.<br />

Proposition 3.11 (Naik [Nai97]). If the path from state s <strong>in</strong> G(a/b) is l<strong>in</strong>ear<br />

and of length k, and no other state has a l<strong>in</strong>ear path of length ≥ k, then s has<br />

a UIO sequence of length k or k +1.<br />

Proof. Suppose that G(a/b) has no cycles. If we apply <strong>in</strong>put a k to s, then the<br />

output produced will be b k . This is not true for any other state, s<strong>in</strong>ce all other<br />

paths <strong>in</strong> G(a/b) have length smaller than k. Thusa k is a UIO sequence of length<br />

k for s.<br />

If, on the other hand, G(a/b) has cycles, consider the <strong>in</strong>put sequence a k+1 .<br />

Applied to states with cyclic paths <strong>in</strong> G(a/b), it will produce output b k+1 .For<br />

s, the output produced will be b k b ′ , for some output symbol b ′ different from b.<br />

For all other states, the output produced will have fewer than k <strong>in</strong>itial copies of<br />

b. Thusa k+1 is a UIO sequence for s.<br />

It is also easy to see from the first part of the above proof that if all paths <strong>in</strong><br />

G(a/b) are l<strong>in</strong>ear, then every vertex with a unique path length different from 0<br />

has a UIO sequence.<br />

Depth-First Search <strong>in</strong> the Pruned UIO Tree. Analysis of the projection graphs<br />

may not produce any UIO sequences at all, or it may, even when comb<strong>in</strong>ed with<br />

the <strong>in</strong>ference rules, not produce conclusive results for all states of the mach<strong>in</strong>e.<br />

In these cases, the pruned UIO tree must be searched. The search can be aborted<br />

as soon as UIO sequences have been found for all vertices except those that were<br />

found to have none dur<strong>in</strong>g the analysis of the <strong>in</strong>ference graph.<br />

Every time a UIO sequence is found, the <strong>in</strong>ference rules are applied to generate<br />

sequences for other states, and a check is made to determ<strong>in</strong>e whether the<br />

search must be cont<strong>in</strong>ued.<br />

In order to make maximal use of the <strong>in</strong>ference rules, it is desirable to f<strong>in</strong>d<br />

at least some sequences as soon as possible. To achieve this, Naik suggests that<br />

the tree be searched depth first, rather than breadth first. This is because if all<br />

states have UIO sequences of approximately the same length, then the breadthfirst<br />

search would go through more or less the whole pruned tree before f<strong>in</strong>d<strong>in</strong>g<br />

even one sequence.<br />

The problem with the depth first approach is that longer sequences may be<br />

found before shorter ones for the same state, and when us<strong>in</strong>g UIO sequences for<br />

conformance test<strong>in</strong>g (see Chapter4), it is desirable to f<strong>in</strong>d sequences that are as<br />

short as possible.<br />

In order to at least partially get around this drawback, Naik suggests what<br />

he calls a hybrid search, which runs <strong>in</strong> the follow<strong>in</strong>g way:<br />

(1) Let φ be the root node of the pruned UIO tree.<br />

(2) Visit every child of φ. If a child is term<strong>in</strong>al, mark it as such. If it represents a<br />

UIO sequence for some state, use the <strong>in</strong>ference rules and determ<strong>in</strong>e whether<br />

the search can be term<strong>in</strong>ated.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!