Proving Theorems about LISP Functions
Journal of the ACM (JACM)
The treatment of data types in EL1
Communications of the ACM
Protection in programming languages
Communications of the ACM
Inductive methods for proving properties of programs
Communications of the ACM
A contribution to the development of ALGOL
Communications of the ACM
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languages
Implications of a virtual memory mechanism for implementing protection in a family of operating systems
An Introduction to Proving the Correctness of Programs
ACM Computing Surveys (CSUR)
Data Abstraction, Implementation, Specification, and Testing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Formal Specification of Graphic Data Types
ACM Transactions on Programming Languages and Systems (TOPLAS)
High level programming for distributed computing
Communications of the ACM
Automatic data structure selection: an example and overview
Communications of the ACM
Abstract data types and the development of data structures
Communications of the ACM
Abstract data types and software validation
Communications of the ACM
An example of hierarchical design and proof
Communications of the ACM
Invariant inference for static checking:
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
Invariant inference for static checking: an empirical evaluation
ACM SIGSOFT Software Engineering Notes
Classes of functions for computing on binary trees (Extended Abstract)
STOC '81 Proceedings of the thirteenth annual ACM symposium on Theory of computing
Proceedings of an ACM conference on Language design for reliable software
Abstract data types and the development of data structures
Software pioneers
Hi-index | 0.08 |
This paper is concerned with proving properties of programs which use data structures. The goal is to be able to prove that all instances of a class (e.g. as defined in Simula) satisfy some property. A method of proof which achieves this goal, generator induction, is studied and compared to other proof rules and methods: inductive assertions, recursion induction, computation induction, and, in some detail, structural induction. The paper concludes by using generator induction to prove a characteristic property of an implementation of hashtables.