Testing Data Abstractions through Their Implementations.

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.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
May 01, 1979
Accession Number
ADA070957

Entities

People

  • John Gannon
  • Mark Ardis
  • Paul Mcmullin
  • Richard Hamlet

Organizations

  • University of Maryland

Tags

Communities of Interest

  • Counter IED
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Abstracts
  • Air Force
  • Compilers
  • Computations
  • Computer Graphics
  • Computer Languages
  • Computer Programming
  • Computer Science
  • Computers
  • Consistency
  • Language
  • Lists (Data Structures)
  • Programming Languages
  • Side Effects
  • Specifications
  • Test Sets
  • Universities

Fields of Study

  • Engineering

Readers

  • Computational Linguistics