--%>

Describe MCP or Model Checker for C plus

MCP: Model Checker for C++ (MCP) is an explicit-state software model checker being introduced by the Robust Software Engineering group at NASA Ames Research Center (Thompson and Brat, 2008). MCP was constructed specifically to allow programs written in C or C++ to be model-checked directly, devoid of requiring prior translation or model extraction. It builds upon the LLVM (low level virtual machine) compiler infrastructure (LLVM website), thereby avoiding the requirement to directly recognize the extremely complex C++ language at source-level. This approach allows MCP to support the entire C++ language, comprising templates. The C language is handled fully, not merely as an improper subset of C++. Experience from the JPF project has demonstrated the utility of program model checking. However, current flight software is mostly implemented in C, not Java, and in the future it seems increasingly likely that C++ will become the platform of choice. The MCP model checker was developed to fill the requirement for an explicit-state software model checker, in the style of JPF, that fully supports the C++ language. As a test example, it was applied to the unmodified C code of the prototype CEV Onboard Abort Executive Flight Rules Checker.

   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 : Program to controls a quiz show in C++

    Foundations of Computer Science In this project, we will write a program that controls a quiz show, much like the many popular TV shows. The program will read in a group of questions and thei

  • Q : What is Concurrency Concurrency : This

    Concurrency: This is a feature of parallel programming. The parts of a program whose executions overlap in time are stated to execute concurrently. Java's thread characteristic support concurrency.

  • Q : What is Block Block : The statements

    Block: The statements and declarations are enclosed between a matching pair of curly brackets ({ and }). For example, a class body is a block, as it is a method body. The block surrounds a nested scope level.

  • Q : Explain the way to enter element content

    Explain the way to enter element content.

  • Q : What is a Port Port: It is a number

    Port: It is a number employed by a procedure to communicate with the other procedure across a network, employing the Transmission Control Protocol (abbreviated as TCP) or User Datagram Protocol (abbreviated as UDP), for instance.

  • Q : Problem on COBOL source code errors

    There are many errors in the following COBOL source code. Identify the errors and rewrite the program so that it contains no errors:IDENTIFICATION DIVISION   (Full stop required)PROGRAM ID. ERRORS-EXAMPLE.DATA DIVISION    (Fu

  • Q : Block Started by Symbol What is the

    What is the Block Started by the Symbol?

  • Q : Define Hardware Hardware : It is the

    Hardware: It is the physical devices of a computer system, like its micro-chips, keyboard, disk drives, printer, sound card, and so forth. It is termed `hardware' in contrary to programs, which are termed `software'.

  • Q : Explain Interpreter Interpreter : A

    Interpreter: A program that executes a translated version of the source program by implementing a virtual machine. The interpreters usually simulate the actions of an idealized Central Processing Unit. An interpreter for Java should implement the Java