ABSTRACT
The paper introduces a reachability predicate for linear lists, develops the elementary axiomatic theory of the predicate, and illustrates its application to program verification with a formal proof of correctness for a short program that traverses and splices linear lists.
- Burstall, R. M., "Some techniques for proving correctness of programs which alter data structures", Machine Intelligence 6, pp. 23-50, Edinburgh, Edinburgh University Press, 1971.Google Scholar
- Dijkstra, E. W., A Discipline of Programming, Prentice-Hall, Englewood Cliffs, N.J. 1976. Google ScholarDigital Library
- Luckham, D. and Suzuki, N., "Automatic program verification V: verification-oriented proof rules for arrays, records, and pointers", Stanford AI Memo AIM-278, March, 1976. Google ScholarDigital Library
- Morris, J. H., "Verification-oriented language design", Technical Report 7, Department of Computer Science, UC Berkeley, December, 1972.Google Scholar
- Nelson, G., "Techniques for program verification", CSL-81-10, Xerox Palo Alto Research Center, June, 1981.Google Scholar
- Nelson, G. and Yao, F., "Solving reachability constraints for linear lists", manuscript, August 1982.Google Scholar
Recommendations
Verifying properties of well-founded linked lists
Proceedings of the 2006 POPL ConferenceWe describe a novel method for verifying programs that manipulate linked lists, based on two new predicates that characterize reachability of heap cells. These predicates allow reasoning about both acyclic and cyclic lists uniformly with equal ease. The ...
Full functional verification of linked data structures
PLDI '08: Proceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and ImplementationWe present the first verification of full functional correctness for a range of linked data structure implementations, including mutable lists, trees, graphs, and hash tables. Specifically, we present the use of the Jahob verification system to verify ...
Full functional verification of linked data structures
PLDI '08We present the first verification of full functional correctness for a range of linked data structure implementations, including mutable lists, trees, graphs, and hash tables. Specifically, we present the use of the Jahob verification system to verify ...
Comments