--%>

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 : Define the term Interface inheritance

    Interface inheritance: Whenever a class implements an interface, the interface inheritance relationship exists among them. The class inherits no implementation from interface, just method signatures and static variables. It is as well possible for one

  • Q : Define User Datagram Protocol User

    User Datagram Protocol: The User Datagram Protocol (abbreviated as UDP) is a set of rules which permit communication among two processes across a network. The protocol is unreliable, that means that information is not guaranteed to be

  • Q : Define BOOP Toolkit BOOP Toolkit : The

    BOOP Toolkit: The BOOP Toolkit has been developed at the Institute for Software Technology at Graz University of Technology. It is based on the SLAM project and uses the same main concept of verification by abstraction and refinement to determin

  • Q : What is Transmission Control Protocol

    Transmission Control Protocol: It is the Transmission Control Protocol (abbreviated as TCP) is a set of rules which permit reliable communication among two processes across a network.

  • Q : Explain Imperative programming

    Imperative programming: The style of programming generally related with languages such as FORTRAN, C, Pascal and so forth. Imperative programming is differentiated from functional programming in that the previous is strongly tied to the idea of variab

  • Q : What is an Arithmetic expression

    Expression: It is a combination of operands and operators which generates a resultant value. Expressions contain a resulting type that affects the context in which they might be employed.

  • Q : What does WSDL stand for What does WSDL

    What does WSDL stand for?

  • Q : Define Race hazard Race hazard : It is

    Race hazard: It is a situation which occurs between multiple threads sharing a resource. The race hazard occurs whenever one thread's suppositions regarding the state of a resource are invalidated by the actions of the other thread.

  • Q : What is Break statement Break statement

    Break statement: A statement employed to break out of a loop, switch statement or labeled block. In all situations, control continues with the statement instantly, subsequent to the containing block.