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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

of any k<strong>in</strong>d, while the UIO method may miss some faults. The W, Wp,<br />

and DS method with an adaptive dist<strong>in</strong>guish<strong>in</strong>g sequence produce check<strong>in</strong>g<br />

sequences of length O(pn 3 )withcostO(pn 3 ). The others have greater cost.<br />

• If even a reset message is not available, but a mach<strong>in</strong>e has a dist<strong>in</strong>guish<strong>in</strong>g<br />

sequence, the method presented <strong>in</strong> Section 4.5 uses transfer sequences <strong>in</strong>stead<br />

of reset, produces check<strong>in</strong>g sequences of length O(pn 3 ) and has cost O(pn 3 )<br />

when used <strong>in</strong> conjunction with adaptive dist<strong>in</strong>guish<strong>in</strong>g sequences.<br />

• If the mach<strong>in</strong>e has not even a dist<strong>in</strong>guish<strong>in</strong>g sequence nor UIOs, the identify<strong>in</strong>g<br />

sequences (IS) method, presented <strong>in</strong> Section 4.6, still works. The IS<br />

method uses only the assumptions that the implementation does not add<br />

states and that the mach<strong>in</strong>es are m<strong>in</strong>imized and therefore they have separat<strong>in</strong>g<br />

sequences. It produces exponentially long check<strong>in</strong>g sequences.<br />

• The problem of test<strong>in</strong>g f<strong>in</strong>ite state mach<strong>in</strong>es with extra states is discussed<br />

more <strong>in</strong> general <strong>in</strong> Section 4.7, where the method orig<strong>in</strong>ally presented by<br />

Chow [Cho78] is <strong>in</strong>troduced.<br />

It is of practical <strong>in</strong>terest to compare the fault detection capability of the methods<br />

when the assumptions under which they should be applied, do not hold [SL88,<br />

ZC93]. Indeed, assumptions like the equal number of states for implementation<br />

may be not verifiable <strong>in</strong> practice. The assumption of the existence of a reset<br />

message is more mean<strong>in</strong>gful, but empirical studies suggest to avoid the use of<br />

the methods us<strong>in</strong>g reset messages for the follow<strong>in</strong>g reason. As shown <strong>in</strong> Section<br />

4.7, faults <strong>in</strong> extra states are more likely to be discovered when us<strong>in</strong>g long <strong>in</strong>put<br />

sequences. The use of a reset message may prevent the implementation to reach<br />

such extra states where the faults are present. For this reason methods like UIO<br />

or DS method without reset are better <strong>in</strong> practice than the UIOv method or the<br />

DS method with reset.<br />

Although the study presented <strong>in</strong> this chapter is rather theoretical, we can<br />

draw some useful guidel<strong>in</strong>es for practice test<strong>in</strong>g for FSMs or for parts of models<br />

that behave like f<strong>in</strong>ite state mach<strong>in</strong>e and the reader should be aware that many<br />

ideas presented <strong>in</strong> this chapter are the basics for tools and case studies presented<br />

<strong>in</strong> Chapters 14 and 15. Such practical suggestions can improve the fault detection<br />

capability of the test<strong>in</strong>g activity.<br />

• Visit<strong>in</strong>g each state <strong>in</strong> a FSM (like a statement coverage) us<strong>in</strong>g a ST method,<br />

should not be considered enough. One should at least visit every transition<br />

us<strong>in</strong>g a transition tour (TT) method, that can be considered as a branch<br />

coverage.<br />

• Transition coverage should be used <strong>in</strong> conjunction of a status message to<br />

really check that the end state of every transition is the one expected. The<br />

presence of a status message <strong>in</strong> digital circuits is often required by the tester<br />

because it is of great help to uncover faults. If a status message may be not<br />

reliable, a double application of it helps to discover when it fails to reveal<br />

the correct state.<br />

• If a status message is not available (very often <strong>in</strong> software black box test<strong>in</strong>g),<br />

one should use some extra <strong>in</strong>puts to verify the states. Such <strong>in</strong>puts should be<br />

unique, like <strong>in</strong> Wp, UIO and DS.

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

Saved successfully!

Ooh no, something went wrong!