POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Capability Based Tagged Architectures
IEEE Transactions on Computers
Document based rational software development
Knowledge-Based Systems
Programming versus databases in the object-oriented paradigm
Information and Software Technology
Trace-based verification of imperative programs with I/O
Journal of Symbolic Computation
Testing and verification aspects of Pascal-like languages
Computer Languages
Recent developments in the theory of data structures
Computer Languages
Implementing a data definition facility driven by graph grammars
Computer Languages
Toward modular verifiable exception handling
Computer Languages
The relationship between design and verification
Journal of Systems and Software
Abstraction hierarchies in top-down design
Journal of Systems and Software
Hi-index | 0.01 |
The main purposes in writing this paper are to discuss the importance of formal specifications and to survey a number of promising specification techniques. The role of formal specifications both in proofs of program correctness, and in programming methodologies leading to programs which are correct by construction, is explained. Some criteria are established for evaluating the practical potential of specification techniques. The importance of providing specifications at the right level of abstraction is discussed, and a particularly interesting class of specification techniques, those used to construct specifications of data-abstractions, is identified. A number of specification techniques for describing data abstractions are surveyed and evaluated with respect to the criteria. Finally, directions for future research are indicated.