| | |
Summary: IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 4, NO. 20, APRIL 1994, PP. 259274
Using Term Rewriting to Verify Software
Sergio Antoy
Portland State University
Department of Computer Science
Portland, OR 97207
John Gannon
University of Maryland
Department of Computer Science
College Park, MD 20742
Abstract
This paper describes a uniform approach to the automation of verification tasks
associated with while statements, representation functions for abstract data types,
generic program units and abstract base classes. Program units are annotated with
equations containing symbols defined by algebraic axioms. An operation's axioms
are developed using strategies that guarantee crucial properties such as convergence
and sufficient completeness. Sets of axioms are developed by stepwise extensions that
preserve these properties. Verifications are performed with the aid of a program that
incorporates term rewriting, structural induction, and heuristics based on ideas used
in the Boyer-Moore prover. The program provides valuable mechanical assistance:
|