slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
SPIN PowerPoint Presentation
Download Presentation

Loading in 2 Seconds...

play fullscreen
1 / 7

SPIN - PowerPoint PPT Presentation

  • Uploaded on

SPIN. An explicit state model checker. How does Spin work?. We already saw: The Algorithm The Promela Language We need to see how we does the tool work. High Level Organization. LTL formula. Promela Model. LTL Translator. Buchi Automaton. Buchi Translator. Promela Parser.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'SPIN' - meris

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript


An explicit state model checker

how does spin work
How does Spin work?
  • We already saw:
    • The Algorithm
    • The Promela Language
  • We need to see how we does the tool work.
high level organization
High Level Organization

LTL formula

Promela Model

LTL Translator

Buchi Automaton

Buchi Translator

Promela Parser

The Buchi automaton is

turned into a Promela

process and composed

with the rest of the system.

Abstract Syntax Tree




The generated verifier is

specific to the model and

property we started with.

C Generator

C Code

C Compiler

Pan Verifier

Verification Result

command line tools
Command Line Tools
  • Spin
    • Generates the Promela code for the LTL formula

~$ spin –f “[]<>p”

      • The proposition in the formula must correspond to #defines
    • Generates the C source code

~$ spin –a

      • The property must be included in the source
  • Pan
    • Performs the verification
      • Has many compile time options to enable different features
      • Optimized for performance
  • GUI for Spin
  • Spin can also be used as a simulator
    • Simulated the Promela program
  • It is used as a simulator when a counterexample is generated
    • Steps through the trace
    • The trace itself is not “readable”
  • Can be used for random and manually guided simulation as well
  • DFS does not necessarily find the shortest counterexample
  • There might be a very short counterexample but the verification might go out of memory
  • If we don’t finish we might still have some sort of a result (coverage metrics)