--%>

Explain LURCH

LURCH (Menzies et al. 2004) uses random search to explore a state machine’s state space. Because the search is random, it gives no guarantee that the state space has been exhaustively explored, so LURCH cannot be used for verification. However, any errors it finds are real errors, so it can be used for debugging. It can find assertion violations, deadlock, and cycle-based errors (no-progress cycles, and violations of temporal logic properties specified as acceptance cycles); finding cycle-based errors requires a state hash table. LURCH’s input format is concurrent finite-state machines, where transitions may be specified by C code.

In a case study of running model checkers to find seeded errors in a flight guidance system model, NuSMV (a model checker not described in this report) had a mean runtime of 2 hours where LURCH had a mean runtime of 3 minutes, yet LURCH found 40 of the 44 seeded errors that NuSMV found. In other demonstration problems, LURCH found all the errors that SPIN found when SPIN could terminate with the given resources. LURCH is claimed to scale to larger problems, and tends to use a stable amount of resources.

   Related Questions in Programming Languages

  • Q : When does a name clash take place in

    When does a name clash take place in programming?

  • Q : Directory and filename Explain

    Explain directory and filename?

  • Q : Explain Magic number Magic number : It

    Magic number: It is a constant value with significance within a specific context. For example, the value 12 could mean numerous different things - the number of hrs you have worked today, the number of dollars you are payable by a friend, and so forth

  • Q : Types of rings in CPU Name the

    Name the different kinds of rings presented in CPU?

  • Q : Inheritance in Object Oriented

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

  • Q : How can I check while a web page

    How can I check while a web page contains exact text?

  • Q : Define Protocol Protocol : It is a set

    Protocol: It is a set of rules for interaction between two processes. The protocol is generally specified in a Uniform Resource Locator (abbreviated as URL) to point out how a specific resource must be transferred from a Web server to the requesting c

  • Q : Define Byte code Byte code : Java

    Byte code: Java source files are converted by a compiler into bytecodes that is, the instruction set of the Java Virtual Machine (JVM). The Bytecodes are stored in the .class files.

  • Q : Explain Two dimensional array Two

    Two dimensional array: A two dimensional array is a continuous memory location having similar kind of data arranged in row and column format (such as a matrix structure). D

  • Q : What is Quotient Quotient: Whenever

    Quotient: Whenever integer division is executed, the outcome comprises of a quotient and a remainder. The quotient symbolizes the integer number of times which the divisor divides into the dividend. For example, in 5/3, 5 is the dividend and 3 is the