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.

108 Angelo Gargant<strong>in</strong>i<br />

si q1<br />

q2 qK a a<br />

a<br />

1<br />

2<br />

a<br />

K+1<br />

Fig. 4.7. A faulty mach<strong>in</strong>e MI with K extra states<br />

Assume that a faulty mach<strong>in</strong>e MI , depicted <strong>in</strong> Figure 4.7, is identical to MS<br />

except it has K extra states q1,...,qk and except for the transition from state si<br />

on <strong>in</strong>put a1 where MI moves to the extra state q1. MoreoverMI moves from q1 to<br />

q2 on <strong>in</strong>put a2, fromq2 to q3 on <strong>in</strong>put a3, and so on. Assume the worst case, that<br />

only the transition from state qk on <strong>in</strong>put aK +1 has a wrong output or moves<br />

to a wrong next state. To be sure to test such transition, the <strong>in</strong>put sequence<br />

applied to state si must <strong>in</strong>clude all possible <strong>in</strong>put sequences of length K+1, and<br />

thus it must have length p K +1 . Such <strong>in</strong>put sequence is also called comb<strong>in</strong>ation<br />

lock because <strong>in</strong> order to unlock the mach<strong>in</strong>e, it must reach the state qK and<br />

apply the <strong>in</strong>put aK +1. Vasilevski [Vas73] showed that also the lower bound on<br />

the <strong>in</strong>put sequence is multiplied by p K ; i.e. it becomes Ω(p K +1 n 3 ) (discussed<br />

also <strong>in</strong> Section 5 of Chapter 19 ). Note that such considerations hold for every<br />

state mach<strong>in</strong>e MI with K extra state: to test all the transitions we need to try<br />

all possible <strong>in</strong>put comb<strong>in</strong>ations of length K+1 from all the states of MI ,and<br />

thus the <strong>in</strong>put sequence must have length at least p K +1 n.<br />

Us<strong>in</strong>g similar considerations, many methods we have presented can be easily<br />

extended to deal with implementations that may add a bounded number of<br />

states. This extension, however, causes an exponential growth of the length of<br />

the check<strong>in</strong>g sequence.<br />

In this section we present how the W method presented <strong>in</strong> Section 4.4.1 is<br />

extended to test an implementation mach<strong>in</strong>e with m states with m > |SS | = n<br />

[Cho78]. Let Q be a set of <strong>in</strong>put sequences and k be an <strong>in</strong>teger, Q k is the<br />

concatenation k times of Q. LetW be a characteriz<strong>in</strong>g set (Def<strong>in</strong>ition 4.4). The<br />

W method <strong>in</strong> this case uses <strong>in</strong>stead of a W set another set of sequences called the<br />

dist<strong>in</strong>guish<strong>in</strong>g set Y=(ε∪I ∪I 2 ∪...∪I m−n ).W . Therefore, we apply up to m-n<br />

<strong>in</strong>puts before apply<strong>in</strong>g W. The use of Y <strong>in</strong>stead of W has the goal to discover<br />

states that may be added <strong>in</strong> MI .LetP be a transition cover set. The result<strong>in</strong>g<br />

set of <strong>in</strong>put sequences is equal to {reset }.P.Y. Each <strong>in</strong>put sequence starts with a<br />

reset, then applies a sequence to test each transition, applies up to m − n <strong>in</strong>puts,<br />

then applies a separat<strong>in</strong>g sequence of W. The set of <strong>in</strong>put sequences P.Y detects<br />

any output or transfer error as long as the implementation has no more than m<br />

states. The proof is given <strong>in</strong> [Cho78]. If m = n then Y=W and we obta<strong>in</strong> the W<br />

method of Section 4.4.1.<br />

K

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

Saved successfully!

Ooh no, something went wrong!