Testing Data Abstractions through Their Implementations.
- 1 May 1979
- report
- Published by Defense Technical Information Center (DTIC)
Abstract
A data abstraction can be specified by a syntactic (domainrange) description of its objects and operations on them, plus a set of axioms describing the behavior of the operations. In a programming language that supports abstraction, abstract objects are given a representation in terms of built-in data types (or other, previously defined abstractions), and the abstract operations are defined as procedures. The implemented abstraction has a meaning, acquired from the definition of the programming language; the axioms also specify an independent meaning. The crucial question is then whether or not either meaning is 'correct,' that is, whether it corresponds to the desired abstraction that the programmer has in mind. Using a finite collection of tests, the axiom meaning and the code meaning can be compared for consistency. A compiler-based system, DAISTS, is described for automating this process.Keywords
This publication has 0 references indexed in Scilit: