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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Since this case study is very small, the performance <strong>of</strong> verification was<br />

not our concern. Our goal was to see how the verification result would<br />

be. Uppaal could prove the safety property for the only abstract <strong>model</strong><br />

generated by Nbac.<br />

Although Uppaal could prove the safety property, it notified that “State<br />

discarded: Assignment to variable x is out <strong>of</strong> range”, meaning that Uppaal<br />

only proved the safety property for x was in the range <strong>of</strong> integer values. This<br />

warning may not cause too bad impact to the satisfaction <strong>of</strong> verification<br />

people because it is likely that the system is supposed to work for integer<br />

values only. Nevertheless, this fact could shed some light on the way Uppaal<br />

verified the system.<br />

5.2.2 Asynchronous reader/writer algorithm (aka Burn’s algorithm)<br />

The original <strong>model</strong> <strong>of</strong> this algorithm is specified in PMC input file burn simple<br />

2.xt. We constructed an Nbac input <strong>model</strong> for this algorithm from the PMC<br />

input <strong>model</strong> using the framework specified in Section 2.3. The resulting<br />

<strong>model</strong> is saved in file burn.ba. Nbac can generate 23 abstract <strong>model</strong>s for<br />

this algorithm.<br />

Uppaal gives a conclusive result for the safety <strong>of</strong> this system on the<br />

verification <strong>of</strong> the abstract <strong>model</strong> that contains 3 locations.<br />

Although we expected the system would not satisfy the property as<br />

proved by PMC, Uppaal proved that the safety property was indeed satisfied<br />

using the Nbac abstract <strong>model</strong>. We were skeptical that it was the abstraction<br />

technique that affected the verification results. Therefore, we made an<br />

equivalent Uppaal directly from PMC <strong>model</strong> since it was probably that the<br />

transformation from PMC <strong>model</strong> to Nbac <strong>model</strong> had some unfilled gaps. This<br />

Uppaal <strong>model</strong> is saved in file burn.xml. Again, Uppaal did prove the property<br />

for the same <strong>model</strong> with PMC. However, it is not our goal to see what<br />

was wrong with the <strong>model</strong> checkers so we did not go further into this issue.<br />

Since Uppaal could give a conclusive result for the algorithm, we had a<br />

chance to test the <strong>efficiency</strong> <strong>of</strong> verification on several abstract <strong>model</strong>s <strong>of</strong> this<br />

algorithm. However, we found that the difference <strong>of</strong> time and memory usage<br />

between different abstract <strong>model</strong>s was insignificant. The difference is mainly<br />

due to the difference in the physical size <strong>of</strong> the <strong>model</strong>. We believe that this<br />

system is too simple for the verification results on different abstract <strong>model</strong>s<br />

to be distinguishable. Table 5.1 presents some measurement data for this<br />

test.<br />

48

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

Saved successfully!

Ooh no, something went wrong!