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.

600 Therese Berg and Harald Raffelt<br />

VC-counterexample<br />

No counterexample<br />

Check equivalence<br />

(VC algorithm)<br />

Report<br />

no error found<br />

Incremental<br />

Learn<strong>in</strong>g<br />

(Anglu<strong>in</strong>)<br />

Model Check<strong>in</strong>g<br />

wrt. current model<br />

Counterexample found<br />

Compare<br />

counterexample<br />

with system<br />

Conformance established Counterexample confirmed<br />

Report<br />

counterexample<br />

Counterexample<br />

Fig. 19.15. Overview of the Adaptive Model Check<strong>in</strong>g Algorithm.<br />

(1) If the model checker f<strong>in</strong>ds a mc-counterexample for the checked property,<br />

the SUT runs the counterexample <strong>in</strong> order to see if it is <strong>in</strong>deed a sequence<br />

of actions that can be performed by the SUT.<br />

• If the SUT accepts the mc-counterexample we have an <strong>in</strong>put sequence<br />

that shows that the SUT does not satisfy the property. Then the mccounterexample<br />

is reported and the AMC algorithm term<strong>in</strong>ates.<br />

• In the second scenario where the sequence can not be performed by the<br />

SUT, the mc-counterexample will be given to the learn<strong>in</strong>g algorithm and<br />

the model will be ref<strong>in</strong>ed.<br />

(2) In the second case, if the model checker does not produce a mc-counterexample,<br />

one has to <strong>in</strong>vestigate whether the model corresponds to the SUT.<br />

Apply<strong>in</strong>g the VC algorithm resolves this question. As before, if a vc-counterexample<br />

is found, the counterexample is given to Anglu<strong>in</strong>’s algorithm and<br />

the model is ref<strong>in</strong>ed. If no vc-counterexample is found the AMC algorithm<br />

concludes that the SUT satisfies the property and the AMC algorithm term<strong>in</strong>ates.<br />

We will now present the AMC algorithm <strong>in</strong> more detail.<br />

Model The model of the SUT is constructed by Anglu<strong>in</strong>’s algorithm <strong>in</strong> the AMC<br />

method. The AMC method assumes that the SUT gives <strong>in</strong>formation whether an<br />

<strong>in</strong>put can be currently executed by the SUT. Therefore the language of the SUT<br />

is assumed to be prefix-closed and hence the model as well. The model is a f<strong>in</strong>ite<br />

automaton and its runs represent only the successful experiments (str<strong>in</strong>gs) <strong>in</strong><br />

the SUT. The learn<strong>in</strong>g algorithm used <strong>in</strong> AMC to learn this model is Anglu<strong>in</strong>’s<br />

algorithm. We assume that we know an upper bound on the number of states,<br />

n, of the SUT.<br />

Property The property is given as an LTL formula, and this can be translated<br />

<strong>in</strong>to a Büchi automaton. So the property can be expressed <strong>in</strong> L<strong>in</strong>ear Temporal

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

Saved successfully!

Ooh no, something went wrong!