DAISTS - A System for Using Specifications and Verifications to Test Implementations.

Abstract

DAISTS (Data Abstraction Implementation, Specification, and Testing System) combines a data abstraction language containing SIMULA-like classes with algebraic specifications and a library of testing monitoring routines. Each axiom equates two sequences of function compositions; the axioms are checked against the implementation by comparing the results of the function compositions for a finite set of test points with a user-supplied equality testing operation. Inconsistencies between the axioms and the implementation are reported as they are detected. While running the tests, the system also monitors statement execution and expression evaluation. By insisting that enough test data be supplied to execute each statement and axiom and to vary the value of each sub-expression, DAISTS helps users develop an effective set of test cases. The author has evaluated DAISTS both to demonstrate its worth during program development and to find its weaknesses. An experiment was performed that compared program development with DAISTS against more conventional program development. The author showed that 'non-expert' programmers could use formal specifications in program development. The author also used DAISTS in an implementation of a simple text editor, similar to one in Kernighan and Plauger's Software Toos book, to show that DAISTS can effectively be employed in the development of complex software. (Author)

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jun 01, 1982
Accession Number
ADA120219

Entities

People

  • Paul Raymond Mcmullin

Organizations

  • University of Maryland

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Case Studies
  • Compilers
  • Computational Science
  • Computations
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Debugging
  • Notation
  • Reliability
  • Software Development
  • Software Testing
  • Specifications
  • Test And Evaluation
  • Test Methods
  • Test Sets

Fields of Study

  • Computer science

Readers

  • Database Systems and Applications
  • Manufacturing Engineering.
  • Mathematical Modeling and Probability Theory.