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)
Document Details
- Document Type
- Technical Report
- Publication Date
- Jun 01, 1982
- Accession Number
- ADA120219
Entities
People
- Paul Raymond Mcmullin
Organizations
- University of Maryland