Parallel Program Verification Using BMC

نویسندگان

  • Toni Jussila
  • Ilkka Niemelä
چکیده

The paper describes a research tool for studying the applicability of bounded model checking techniques to verifying asynchronous software. A simple programming language, PROMELAb, is introduced and an operational semantics for it is defined. The language is basically a subset of PROMELA, the input language of the SPIN model checker. The basic idea is to study techniques for improving the efficiency of bounded model checking techniques for parallel software by exploiting the potential concurrency in executing asynchronous programs. As a first step, a translation from a PROMELAb program and an execution bound to a propositional formula is devised such that the models of the formula capture exactly the bounded executions of the program. The translation allows the analysis of both interleaving and step executions. It is shown how it can be used to check bounded reachability properties and how the approach extends to handling safety properties. Techniques for optimizing the encoding are also discussed.

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

ثبت نام

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

منابع مشابه

Incremental Bounded Model Checking for Embedded Software1

Program analysis is on the brink of mainstream usage in embedded systems development. Formal verification of behavioural requirements, finding runtime errors and test case generation are some of the most common applications of automated verification tools based on Bounded Model Checking (BMC). Existing industrial tools for embedded software use an off-the-shelf Bounded Model Checker and apply i...

متن کامل

Automatic Verification of Determinism for Structured Parallel Programs

We present a static analysis for automatically verifying determinism of structured parallel programs. The main idea is to leverage the structure of the program to reduce determinism verification to an independence property that can be proved using a simple sequential analysis. Given a task-parallel program, we identify program fragments that may execute in parallel and check that these fragment...

متن کامل

Successful Use of Incremental BMC in the Automotive Industry

Program analysis is on the brink of mainstream usage in embedded systems development. Formal verification of behavioural requirements, finding runtime errors and automated test case generation are some of the most common applications of automated verification tools based on Bounded Model Checking (BMC). Existing industrial tools for embedded software use an off-the-shelf Bounded Model Checker a...

متن کامل

Bounded Model Checking of Multi-threaded C Programs via Lazy Sequentialization

Bounded model checking (BMC) has successfully been used for many practical program verification problems, but concurrency still poses a challenge. Here we describe a new approach to BMC of sequentially consistent C programs using POSIX threads. Our approach first translates a multi-threaded C program into a nondeterministic sequential C program that preserves reachability for all round-robin sc...

متن کامل

Software Verification and Validation with Destiny:

This paper presents an introduction to computer-aided theorem proving and a new approach using parallel processing to increase power and speed of computation. Automated theorem provers, along with human interpretation, have been shown to be powerful tools in verifying and validating computer software. Destiny, while still in developmental stages, has shown promise for deeper and more powerful a...

متن کامل

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


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

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

دوره   شماره 

صفحات  -

تاریخ انتشار 2002