25.12.2014 Views

On improving efficiency of model checking through systematically ...

On improving efficiency of model checking through systematically ...

On improving efficiency of model checking through systematically ...

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.

asynchronous reader/writer algorithm can be verified using our approach.<br />

Unfortunately, Uppaal could not finish the verification on the Fischer’s protocol<br />

and Subway system before memory resource was exhausted. These<br />

results are unsatisfactory since we aim at the verification on such complex<br />

systems.<br />

We now try to answer the first research question <strong>of</strong> this thesis, which<br />

asked: “What are the practical benefits <strong>of</strong> combining Nbac and PMC/Uppaal<br />

using such systematic approach ”.<br />

Frankly, the practical benefits <strong>of</strong> using Nbac abstract <strong>model</strong>s in verification<br />

done by Uppaal 1 are not clear, since those abstract <strong>model</strong>s are unverifiable.<br />

Although we could successfully verify the tiny example and the<br />

asynchronous reader/writer algorithm, no conclusions can be drawn about<br />

<strong>efficiency</strong> <strong>of</strong> the verification due to the fact that these two systems are quite<br />

small and thus the differences in performance between verification using the<br />

combination approach and using only Uppaal are insignificant.<br />

The unsatisfactory experimental results bring us to the second research<br />

question <strong>of</strong> this thesis, which asked “How can we drive Nbac to generate the<br />

right abstract <strong>model</strong> to achieve the best <strong>efficiency</strong> in terms <strong>of</strong> accuracy <strong>of</strong><br />

verification results and the scalability <strong>of</strong> systems that can be verified ”.<br />

To answer the second question, efforts have been made to determine the<br />

reasons for large state space created from Nbac abstract <strong>model</strong>s. Remind<br />

that an Nbac abstract <strong>model</strong> contains an automaton specifying an execution<br />

loop around the good location(s) if the system does not violate the safety<br />

property. Taking into account that fact, we measured the memory usage to<br />

estimate the size <strong>of</strong> state space and the way the consumption <strong>of</strong> memory<br />

resource grew after every iterations. It turned out that the memory usage<br />

increased very quickly when we incremented the number <strong>of</strong> iterations.<br />

After analyzing a <strong>model</strong> and its simulation, we believe that the reasons<br />

for the state space explosion <strong>of</strong> <strong>model</strong> <strong>checking</strong> using our combination approach<br />

are the following:<br />

1. The infinite characteristic <strong>of</strong> the <strong>model</strong>. This is caused by the presence<br />

<strong>of</strong> unbounded Integer variables in the <strong>model</strong>.<br />

2. The way Uppaal treats such infinite <strong>model</strong> in verification. The infinite<br />

<strong>model</strong> makes Uppaal search until it reaches the bounded Integer<br />

value. In complicated systems like the Subway system, memory resource<br />

is exhausted before Uppaal can reach that boundary and give<br />

a conclusive result.<br />

1 PMC was not involved in our experiments<br />

59

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

Saved successfully!

Ooh no, something went wrong!