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.

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

have created a learn<strong>in</strong>g algorithm for systems without reset that are strongly<br />

connected.<br />

Moreover Berman and Roos [BR87] present a learn<strong>in</strong>g algorithm for a subclass<br />

of context-free languages accepted by counter mach<strong>in</strong>es and Freund et<br />

al. [FKR + 93] give algorithms for learn<strong>in</strong>g f<strong>in</strong>ite automata on the basis of a s<strong>in</strong>gle<br />

long walk <strong>in</strong> an average-case sett<strong>in</strong>g. Maler and Pnueli [MP95] study the<br />

problem of learn<strong>in</strong>g sets of <strong>in</strong>f<strong>in</strong>ite str<strong>in</strong>gs. In [DH03a, DH03b], learn<strong>in</strong>g of regular<br />

tree languages is studied. Learn<strong>in</strong>g of timed systems is addressed <strong>in</strong> [GJL04].<br />

Look<strong>in</strong>g at Anglu<strong>in</strong>’s algorithm, it becomes obvious that there is a trade-off<br />

between membership and equivalence queries. Instead of perform<strong>in</strong>g an equivalence<br />

query for a closed and consistent table, one could compare the row labels<br />

of equal rows on further suffixes by membership queries. This might reveal an<br />

<strong>in</strong>consistency, yield<strong>in</strong>g a separation of the previously equal rows, and thus more<br />

states. For every such case, an equivalence query could be saved. This idea is<br />

worked out <strong>in</strong> [BDGW94] and [BGHM96].<br />

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

In the first section of this chapter, we have studied automatic means for verify<strong>in</strong>g<br />

SUTs based on model check<strong>in</strong>g. However, model check<strong>in</strong>g requires a model. If the<br />

system under test is a black box, one can use the learn<strong>in</strong>g techniques expla<strong>in</strong>ed<br />

<strong>in</strong> the previous section to learn a model of the box. Then model check<strong>in</strong>g can be<br />

applied.<br />

In [GPY02] a method that <strong>in</strong>tegrates learn<strong>in</strong>g a model of the black box and<br />

verify<strong>in</strong>g it is presented. It is termed Adaptive Model Check<strong>in</strong>g (AMC). It<br />

is similar to the method previously studied <strong>in</strong> [PVY99] under the term black<br />

box check<strong>in</strong>g.<br />

Adaptive model check<strong>in</strong>g is a method that deals with the problem of hav<strong>in</strong>g<br />

an <strong>in</strong>accurate model of a SUT. Given a property that the system must satisfy,<br />

model check<strong>in</strong>g is performed on a prelim<strong>in</strong>ary model and if a counterexample is<br />

found it is compared with the system under test. The result of the comparison<br />

is either that the SUT does not satisfy the property or an automatic ref<strong>in</strong>ement<br />

of the model.<br />

First, we present an overview of the algorithm <strong>in</strong> Figure 19.15. The algorithm<br />

used for learn<strong>in</strong>g is Anglu<strong>in</strong>’s algorithm [Ang87] and the algorithm for perform<strong>in</strong>g<br />

the equivalence check between the model and the SUT is the Vasilevskii-Chow<br />

(VC) algorithm [Vas73, Cho78]. Note that there are two sorts of counterexamples<br />

<strong>in</strong> this sett<strong>in</strong>g, videlicet counterexamples produced by the model checker, called<br />

mc-counterexamples, and counterexamples produced by the VC algorithm, called<br />

vc-counterexamples.<br />

In the black box check<strong>in</strong>g scenario no <strong>in</strong>itial model is assumed to exist and<br />

Anglu<strong>in</strong>’s algorithm starts from scratch. The AMC algorithm starts with the<br />

model learned so far. This model might be <strong>in</strong>accurate. The AMC algorithm<br />

applies model check<strong>in</strong>g to this model. There are two possible outcomes of this<br />

check:

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

Saved successfully!

Ooh no, something went wrong!