--%>

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 : What is Lexicographic ordering

    Lexicographic ordering: It is the ordering of words as they would be easily found in a dictionary. It must be noted that dissimilar locales order identical looking words according to their own conventions - this exerts, in specific, to accented charac

  • Q : Define Compilation Compilation : It is

    Compilation: It is a process of translating a programming language. This frequently comprises translating a high level programming language into a low level programming language, and the binary form of a specific instruction set. The translation is ex

  • Q : Define Bootstrap classes Bootstrap

    Bootstrap classes: The classes which make up the Java Platform Core Application Programming Interface (API), like those found in the java.lang, java.io and java.io packages.

  • Q : Describe object-oriented programming

    Briefly describe object-oriented programming (OOP)?

  • Q : Define several features of XQuery

    Define several features of XQuery?

  • Q : Who Issues Certificates and how Who

    Who Issues Certificates and How?

  • Q : What are the valid and invalid XHTML

    What are the valid and invalid XHTML element names?

  • Q : Define Bounds Bounds : It is the limits

    Bounds: It is the limits of an array or collection. In Java, the lower limit is for all time zero (0). In case of an array, the upper bound is one less than the length of the array, and is fixed. Indexing exterior the bounds of an array or collection

  • Q : What is Leverage Model-Based Design

    Leverage Model-Based Design: Model-based design provides useful hints of how a large system can be reduced so that its state space becomes searchable. If not inherently visible in the design (for example, by means of using a “State” design

  • Q : Benefit from JavaIDL Why did Java

    Why did Java benefit from the development of JavaIDL?