Abstract Data Types and Software Validation

Abstract

A data abstraction can be naturally expressed using algebraic axioms, whose virtue is that they permit a representation-independent formal specification of a data type. A moderately complex example is given which shows how to employ algebraic axioms at successive levels of implementation. The major thrust of the paper is two-fold. First, it is shown how the use of algebraic axiomatizations can significantly improve the process of proving the correctness of an implementation of an abstract data type. Second, semi-automatic tools are described which can be used both to automate such proofs of correctness and to derive an immediate implementation from the axioms. This implementation allows for limited testing of a large software system at design time, long before a conventional implementation is accomplished. Extensions to the formalism which permit the handling of errors and procedures with side effects are also given.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Aug 01, 1976
Accession Number
ADA029896

Entities

People

  • David R. Musser
  • Ellis Horowitz
  • John V. Guttag

Organizations

  • University of Southern California

Tags

Communities of Interest

  • Advanced Electronics
  • Counter IED

DTIC Thesaurus Topics

  • Abstracts
  • Calculus
  • Computations
  • Computer Graphics
  • Computer Languages
  • Computer Programming
  • Computer Science
  • Computers
  • Formal Languages
  • Hash Tables
  • Information Science
  • Language
  • Linguistics
  • Programming Languages
  • Side Effects
  • Software Development
  • Validation

Fields of Study

  • Computer science
  • Engineering

Readers

  • Mathematical Modeling and Probability Theory.
  • Software Engineering.
  • Systems Analysis and Design