Symbolic Techniques for Formally Verifying Industrial Systems,

Abstract

The design of correct computer systems is extremely difficult. However, it is also a very important task. Such systems are frequently used in applications where failures can have catastrophic consequences, or cause significant financial losses. Simulation and testing are the most widely used verification techniques, but they can only show the presence of errors and cannot demonstrate correctness. Until lately formal methods were too expensive to be used in industrial problems, but recent research has made it possible to apply formal techniques to the verification of complex real-world systems. Symbolic model checking is an example of such a technique that has been successful in verifying large finite-state systems. It has also been extended to produce timing and performance information. These properties are extremely important in the design of high-performance systems and time-critical applications. A more detailed analysis of a model is possible using these extensions than by simply determining whether a property is satisfied or not. We present algorithms that determine the exact bounds on the delay between two specified events and the number of occurrences of another event in all such intervals. To demonstrate how our method works, we present two complex examples: the verification of the Futurebus+ cache coherence protocol and the timing analysis of the PCI local bus. These results show the usefulness of symbolic model checking in analyzing modern industrial designs.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jun 18, 1996
Accession Number
ADA311095

Entities

People

  • Edmund M. Clarke
  • Marius Minea
  • Sergio Campos

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Human Systems
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Acquisition
  • Algorithms
  • Arbitration
  • Cancellation
  • Clocks
  • Communications Protocols
  • Complex Systems
  • Computations
  • Computer Programming
  • Computer Science
  • Computers
  • Data Transmission
  • Language
  • Nutrition Disorders
  • Simultaneous Equations
  • Specifications
  • Standards

Fields of Study

  • Computer science

Readers

  • Computer Networking
  • Software Engineering.
  • Systems Analysis and Design