The bibliographic entry was discovered and compiled by a machine, and published without a person checking it against the publication. The publication itself is the authors' own work — this badge says nothing about it.

Automatic verification of pointer programs using monadic second-order logic

The work

AuthorsJakob L. Jensen; Michael E. Jørgensen; Michael I. Schwartzbach; Nils Klarlund
Editors
Typearticle
Year1997
Citekeyjensen1997automatic

Where it appeared

Published inACM SIGPLAN Notices
PublisherAssociation for Computing Machinery
Volume32
Issue5
Pages226--234

Identifiers

DOI10.1145/258916.258936
OpenAlexW4232408220

Empty on purpose

copy

Abstract

We present a technique for automatic verification of pointer programs based on a decision procedure for the monadic second-order logic on finite strings.We are concerned with a while-fragment of Pascal, which includes recursively-defined pointer structures but excludes pointer arithmetic.We define a logic of stores with interesting basic predicates such as pointer equality, tests for nil pointers, and garbage cells, as well as reachability along pointers.We present a complete decision procedure for Hoare triples based on this logic over loop-free code. Combined with explicit loop invariants, the decision procedure allows us to answer surprisingly detailed questions about small but non-trivial programs. If a program fails to satisfy a certain property, then we can automatically supply an initial store that provides a counterexample.Our technique had been fully and efficiently implemented for linear linked lists, and it extends in principle to tree structures. The resulting system can be used to verify extensive properties of smaller pointer programs and could be particularly useful in a teaching environment.

How it got here

How it got hereagent via openalex
Added2026-08-04 00:00 UTC
Not denied bya person 2026-10-29 17:12 UTC

Filed under

sigplan-notices

Cite it as

@article{jensen1997automatic,
  title        = {Automatic verification of pointer programs using monadic second-order logic},
  author       = {Jakob L. Jensen and Michael E. Jørgensen and Michael I. Schwartzbach and Nils Klarlund},
  year         = {1997},
  journal      = {ACM SIGPLAN Notices},
  publisher    = {Association for Computing Machinery},
  volume       = {32},
  number       = {5},
  pages        = {226--234},
  doi          = {10.1145/258916.258936},
}

This record lives at https://refs.drheap.org/jensen1997automatic/ and will keep doing so.