--%>

Search and Coverage of SPIN

Search and Coverage of SPIN: SPIN has a highly optimized state exploration algorithm. It supports random, interactive and guided simulation, and both exhaustive and partial coverage, based on either depth-first or breadth-first search.

To reduce the problem of running out of memory storing the states that have been visited (so that the search will not explore them again), SPIN provides an option called bitstate hashing, also known as supertrace. Bitstate hashing uses memory as a bit vector. When a state is visited during SPIN’s exploration, its state vector is hashed to a bit in memory: the bit indicates whether the state has been visited previously. If a different state vector hashes to the same bit location, SPIN will erroneously conclude that the state has been visited and will terminate exploration from that state. This may lead to false negatives (errors may not be found), but not false positives (no false error reports).

Paradoxically, using the bitstate option may lead to increased coverage of the state space, because more of it can be explored in the given amount of memory.

   Related Questions in Programming Languages

  • Q : State machine to identify three

    Explain a finite state machine which will detect three consecutive coins tosses of one coin which results in heads?

  • Q : What is Bit manipulation operator Bit

    Bit manipulation operator: Operators, like &, | and ^, which are employed to examine and manipulate individual bits win the bytes of a data item. The shift operators, <<, >> and >>>, are too bit manipulation operators.

  • Q : Use of setjmp and longjmp Use of

    Use of setjmp() and longjmp(): In C/C++, setjmp() saves the contents of the registers at a particular state in the program and longjmp() will restore that state later. In this way, longjmp() “returns” to the state of the program when setjm

  • Q : Explain Operating system Operating

    Operating system: The operating system permits a computer's hardware devices to be accessed by the programs. For example, it permits data to be managed on a computer's disks in the form of a file system and it delivers the co-ordinate positions of a m

  • Q : Define Abstract class Abstract class :

    Abstract class: It is a class with the abstract reserved word in its header. The Abstract classes are differentiated by the fact that you might not directly construct objects from them employing the new operator. The abstract class might have zero (0)

  • Q : What is u-area Explain what is meant by

    Explain what is meant by the term u-area (user area)?

  • Q : Define Loop variable Loop variable : A

    Loop variable: A variable employed to control the operation of a loop, like a for loop. Usually, a loop variable will be provided an initial value and it is then incremented after each and every iteration till it passes or reaches a terminating value.

  • Q : Define Double buffering Double

    Double buffering: A graphics method employed to smooth animation. The later version of an image is drawn `at the back the scenes' and then exhibited in its totality whenever the drawing is finished. The supposition is that it will be relatively fast t

  • Q : Inheritance in Object Oriented

    Q. What is the use of making a method private inside

  • Q : Explain AJAX Control Extender Toolkit

    Explain the AJAX Control Extender Toolkit.