DocumentCode :
1054524
Title :
Using term rewriting to verify software
Author :
Antoy, Sergio ; Gannon, John
Author_Institution :
Dept. of Comput. Sci., Portland State Univ., OR, USA
Volume :
20
Issue :
4
fYear :
1994
fDate :
4/1/1994 12:00:00 AM
Firstpage :
259
Lastpage :
274
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 by 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: managing inductive arguments and providing hints for necessary lemmas, without which formal proofs would be impossible. The successes and limitations of our approaches are illustrated with examples from each domain
Keywords :
abstract data types; program verification; rewriting systems; software tools; theorem proving; Boyer-Moore prover; abstract base classes; abstract data types; algebraic axioms; convergence; generic program units; mechanical assistance; representation functions; structural induction; sufficient completeness; term rewriting; verification tasks; while statements; Abstracts; Automation; Computer science; Concrete; Convergence; Equations; Tail; Turing machines;
fLanguage :
English
Journal_Title :
Software Engineering, IEEE Transactions on
Publisher :
ieee
ISSN :
0098-5589
Type :
jour
DOI :
10.1109/32.277574
Filename :
277574
Link To Document :
بازگشت