Symbolic Model Checking for Asynchronous Boolean Programs

نویسندگان

  • Byron Cook
  • Daniel Kroening
  • Natasha Sharygina
چکیده

Software model checking problems generally contain two different types of non-determinism: 1) non-deterministically chosen values; 2) the choice of interleaving among threads. Most modern software model checkers can handle only one source of non-determinism efficiently, but not both. This paper describes a SAT-based model checker for asynchronous Boolean programs that handles both sources effectively. We address the first type of non-determinism with a form of symbolic execution and fix-point detection. We address the second source of non-determinism using a symbolic and dynamic partial-order reduction, which is implemented inside the SAT-solver’s case-splitting algorithm. The preliminary experimental results show that the new algorithm outperforms the existing software model checkers on large benchmarks.

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

ثبت نام

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

منابع مشابه

Boolean Programs: A Model and Process For Software Analysis

A fundamental issue in model checking of software is the choice of a model for software. We present a model called boolean programs that is expressive enough to represent features in common programming languages and is amenable to model checking. We present a model checking algorithm for boolean programs using context-free-language reachability. The model checking algorithm allows procedure cal...

متن کامل

Combining symbolic and partial order methods for model checking 1-safe Petri nets

In this work, methods are presented for model checking finite state asynchronous systems, more specifically 1-safe Petri nets, with the aim of alleviating the state explosion problem. Symbolic model checking techniques are used, combined with two partial order semantics known as net unfoldings and processes. We start with net unfoldings and study deadlock and reachability checking problems, usi...

متن کامل

Veri cation of Java Programs using Symbolic Execution and Invariant Generation Corina S

Software veri cation is recognized as an important and difcult problem. We present a novel framework, based on symbolic execution, for the automated veri cation of software. The framework uses annotations in the form of method speci cations and loop invariants. We present a novel iterative technique that uses invariant strengthening and approximation for discovering these loop invariants automa...

متن کامل

Bebop: A Symbolic Model Checker for Boolean Programs

We present the design, implementation and empirical evaluation of Bebop|a symbolic model checker for boolean programs. Bebop represents control ow explicitly, and sets of states implicitly using BDDs. By harnessing the inherent modularity in procedural abstraction and exploiting the locality of variable scoping, Bebop is able to model check boolean programs with several thousand lines of code, ...

متن کامل

Rewriting Models of Boolean Programs

We show that rewrite systems can be used to give semantics to imperative programs with boolean variables, a class of programs used in software model-checking as overor underapproximations of real programs. We study the classes of rewrite systems induced by programs with different features like procedures, concurrency, or dynamic thread creation, and survey a number of results on their word prob...

متن کامل

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


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

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

ثبت نام

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

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

دوره   شماره 

صفحات  -

تاریخ انتشار 2005