Automatically validating temporal safety properties of interfaces

  • Authors:
  • Thomas Ball;Sriram K. Rajamani

  • Affiliations:
  • Software Productivity Tools, Microsoft Research;Software Productivity Tools, Microsoft Research

  • Venue:
  • SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
  • Year:
  • 2001

Quantified Score

Hi-index 0.08

Visualization

Abstract

We present a process for validating temporal safety properties of software that uses a well-defined interface. The process requires only that the user state the property of interest. It then automatically creates abstractions of C code using iterative refinement, based on the given property. The process is realized in the SLAM toolkit, which consists of a model checker, predicate abstraction tool and predicate discovery tool. We have applied the SLAM toolkit to a number of Windows NT device drivers to validate critical safety properties such as correct locking behavior. We have found that the process converges on a set of predicates powerful enough to validate properties in just a few iterations.