Toward property-driven abstraction for heap manipulating programs

  • Authors:
  • K. L. McMillan

  • Affiliations:
  • Cadence Berkeley Labs

  • Venue:
  • ATVA'07 Proceedings of the 5th international conference on Automated technology for verification and analysis
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Automated abstraction refinement methods have shown significant promise in analyzing low-level software, such as operating system device drivers, and other control-oriented codes. For example, the SLAM toolkit from Microsoft research [1] has proved effective in finding control errors (such as illegal use of kernel API functions) in real-world device driver codes. SLAM is based on predicate abstraction, using a counterexample-based abstraction refinement heuristic. This gives it the ability to focus the abstraction on state predicates that are relevant to the proof (or falsification) of a given property. This ability allows SLAM and similar tools to scale to real codes of moderate size, albeit only in the case when the property is fairly shallow, in the sense that it requires only a small amount of information about the program's state to prove it.