USING TERM REWRITING TO VERIFY SOFTWARE

Authors
Citation
S. Antoy et J. Gannon, USING TERM REWRITING TO VERIFY SOFTWARE, IEEE transactions on software engineering, 20(4), 1994, pp. 259-274
Citations number
31
Categorie Soggetti
Computer Sciences","Engineering, Eletrical & Electronic","Computer Science Software Graphycs Programming
ISSN journal
00985589
Volume
20
Issue
4
Year of publication
1994
Pages
259 - 274
Database
ISI
SICI code
0098-5589(1994)20:4<259:UTRTVS>2.0.ZU;2-T
Abstract
This paper describes a uniform approach to the automation of verificat ion tasks associated with while statements, representation functions f or abstract data types, generic program units, and abstract base class es. Program units are annotated with equations containing symbols defi ned by algebraic axioms. An operation's axioms are developed by using strategies that guarantee crucial properties such as convergence and s ufficient completeness. Sets of axioms are developed by stepwise exten sions that preserve these properties. Verifications are performed with the aid of a program that incorporates term rewriting, structural ind uction, and heuristics based on ideas used in the Boyer-Moore prover. The program provides valuable mechanical assistance: managing inductiv e arguments and providing hints for necessary lemmas, without which fo rmal proofs would be impossible. The successes and limitations of our approaches are illustrated with examples from each domain.