Predicate Abstraction

نویسنده

  • David L. Dill
چکیده

Designing basic protocols, used in networking, security and multiprocessor systems is hard. All of these have to deal with concurrency, that is the actions of multiple agents in parallel. This makes their design error-prone since all possible interactions between the various agents in the system have to be considered. In addition to concurrency, many of these protocols are designed to work with any number of replicated agents. For instance, protocols that set up routing tables in a network are designed to work irrespective of the number of nodes present. Similarly in cache coherence protocols there may be any number of client caches present. Model checking, a method of enumerating and checking all states of a system, can be used to prove properties of concurrent protocols that are finite state. It can also be applied to finite instances of parameterized protocols and makes an excellent tool for finding bugs. However, in the general case, the system is not finite state, and so model checking can not be used to prove correctness. For such systems, interactive theorem proving has been used to prove correctness. Theorem proving is extremely powerful since the entire arsenal of mathematical techniques are at one’s disposal. However applying it requires a skilled user. For large examples, it can also be tedious. Here new predicate abstraction techniques are described that allow for easy, and in many cases automatic, verification of safety properties of infinite state systems. A finite set of abstraction predicates defined on the concrete system are used to create a conservative finite state abstraction. The reachable state set of the conservative abstraction, is by definition, a superset of the reachable state set of the original system. The abstract version of the verification condition, a safety property, is model v checked on the abstract system. If successful the verification condition holds in the original system. Otherwise more analysis is carried out to figure out if there is a real bug in the system or if the abstraction needs to made more precise by adding extra predicates.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Predicate Abstraction and Canonical Abstraction for Singly-Linked Lists

Predicate abstraction and canonical abstraction are two finitary abstractions used to prove properties of programs. We study the relationship between these two abstractions by considering a very limited case: abstraction of (potentially cyclic) singly-linked lists. We provide a new and rather precise family of abstractions for potentially cyclic singlylinked lists. The main observation behind t...

متن کامل

Partial Predicate Abstraction and Counter-Example Guided Refinement

In this paper we present a counter-example guided abstraction and approximation refinement (CEGAAR) technique for {\em partial predicate abstraction}, which combines predicate abstraction and fixpoint approximations for model checking infinite-state systems. The proposed approach incrementally considers growing sets of predicates for abstraction refinement. The novelty of the approach stems fro...

متن کامل

Combining Predicate Abstraction with Fixpoint Approximations

In this paper we consider combining two techniques that have been effective in analyzing infinite-state systems: predicate abstraction and fixpoint approximations. Using a carefully crafted model of Airport Ground Network Control, we show that when predicate abstraction in a CEGAR loop fails to verify temporal logic properties of an infinite-state transition system, a combination of predicate a...

متن کامل

Ranking Abstraction as Companion to Predicate Abstraction

Predicate abstraction has become one of the most successful methodologies for proving safety properties of programs. Recently, several abstraction methodologies have been proposed for proving liveness properties. This paper studies “ranking abstraction” where a program is augmented by a non-constraining progress monitor, and further abstracted by predicate-abstraction, to allow for automatic ve...

متن کامل

Ranking Abstraction as a Companion to Predicate Abstraction,

Predicate abstraction has become one of the most successful methodologies for proving safety properties of programs. Recently, several abstraction methodologies have been proposed for proving liveness properties. This paper studies “ranking abstraction” where a program is augmented by a nonconstraining progress monitor, and further abstracted by predicate-abstraction, to allow for automatic ver...

متن کامل

Predicate Abstraction for Program Verification

We present basic principles of algorithms for the verification of safety and termination of programs. The algorithms call procedures on logical formulas in order to construct an abstraction and to refine an abstraction. The two underlying concepts are predicate abstraction and counterexampleguided abstraction refinement. UC San Diego · University of Freiburg · Microsoft Research Cambridge · Tec...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003