Automated abstraction of software

  • Authors:
  • Thomas Ball

  • Affiliations:
  • Software Reliability Research, Microsoft Research

  • Venue:
  • ATVA'06 Proceedings of the 4th international conference on Automated Technology for Verification and Analysis
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Automatically proving that a program has some property requires the discovery of appropriate abstractions. Such abstractions simplify the proof task and make it tractable. One approach is for a human to identify an appropriate abstraction. Another approach is to use the computer to search for an appropriate abstraction, based on the program and property under consideration. I will explain how the techniques of predicate abstraction and analysis of spurious error paths can guide the search for appropriate abstractions. These techniques are embedded in the SLAM analysis engine, which forms the core of a recently released Microsoft tool for checking Windows device drivers, called Static Driver Verifier.