--%>

Abstraction in program model checking

Explain the term Abstraction in program model checking and how it is distingush with data abstraction?

E

Expert

Verified

Introduction:

Abstraction is essential for software verification. Without abstraction, a realistic software application is usually too large to be analyzed exhaustively with a model checker. Abstraction aims to transform a program into another program that still has some key properties of the original program, but is much simpler, and therefore easier to analyze. In model checking, abstractions are used to reduce the size of a program’s state space in an attempt to overcome the memory limitations of model-checking algorithms.

Given a program and a property, the strategy of model checking by abstraction can be summarized as follows.

1. Define an abstraction mapping between the concrete program and an abstract program.

2. Use the abstraction mapping to transform the concrete program into an abstract program; usually the property needs also to be transformed into an abstract property.

3. Apply model checking on the abstract program.

4. Map the results of model checking the abstract program back to the original program.

We distinguish between data abstractions, which replace the large domains of program variables with smaller domains, and control abstractions, such as slicing, which remove program components that are irrelevant to the property under analysis. This chapter is mainly concerned with data abstraction. Abstractions can be further characterized by the way they preserve a property or class of properties being verified, or by the way they approximate the behavior of the system being verified.

   Related Questions in Science

  • Q : Difference between bounds and frame

    What is the basic difference between bounds and frame?

  • Q : User-Guided Searches in heuristics

    User-Guided Searches: Traditionally heuristics are often problem-specific. Structural heuristics and property-specific heuristics of general utility are provided as built-in features of model checkers such as JPF, but it is often essential to allow us

  • Q : Block device and character device

    Normal 0 false false

  • Q : Case study of a Dust Bowl-Climatic

    During the 1930's, there were several climatic occurrences in the American Great Plains known collectively as the Dust Bowl. During this period of 5 to 7 years, severe dust storms and drought caused agricultural and ecological damage in the Plains.

  • Q : Author of LINUX operation system Normal

    Normal 0 false false

  • Q : Principles of Response What are the

    What are the basic principles of response which move the reader closer to the aesthetic stance?

  • Q : Uses of compiler Normal 0 false false

    Normal 0 false false

  • Q : Explain pipelining Explain pipelining :

    Explain pipelining: A technique utilized in advanced microprocessors where the microprocessor starts executing a second instruction before the first has been finished. That is, many instructions are in the pipeline simultaneously, each at a distinct p

  • Q : What is Domino theory Domino theory:

    Domino theory: The reason for war during 1950s to 1980s started by US, that kept a look on states coming under the influence of communism. In any case some country came under communism influence then all other countries surrounding it would follow the

  • Q : Describe Eisenhowers political beliefs

    Eisenhower's political beliefs: Eisenhower believed in dynamic conservation. He was conservative on money matters and was liberal to human beings. He believed in government support for big business, budget spending and the return of federal functions