Verifying C++ with STL containers via predicate abstraction

  • Authors:
  • Nicolas Blanc;Alex Groce;Daniel Kroening

  • Affiliations:
  • ETH, Zurich, Switzerland;Jet Propulsion Laboratory, Pasadena, CA;ETH, Zurich, Switzerland

  • Venue:
  • Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
  • Year:
  • 2007

Quantified Score

Hi-index 0.03

Visualization

Abstract

This paper describes a flexible and easily extensible predicate abstraction-based approach to the verification of STLusage, and observes the advantages of verifying programsin terms of high-level data structures rather than low-level pointer manipulations. We formalize the semantics of theSTL by means of a Hoare-style axiomatization. The verification requires an operational model conservatively approximating the semantics given by the Standard. Our results show advantages (in terms of errors detected and false positives avoided) over previous attempts to analyze STL usage, due to the power of the abstraction engine and model checker