page 1  (11 pages)
2to next section



Brad Bennett and Murali Sitaraman**

Concurrent Engineering Research Center (CERC) West Virginia University
Morgantown, WV 26506
Correspondence: [email protected]


The role of reusable, abstract data types (ADTs) in improving software quality has been widely recognized, and much attention has focused on certifying the correctness of implementations of ADTs, using formal testing methods. A major problem with manual testing techniques has been over-reliance on the tester?s ability to interpret correctly and to validate test results. This problem can be partially solved by automating selected aspects of the testing process. After describing a test method based on formal, model-based specifications of ADTs, this paper outlines how some parts of the method can be automated. It also illustrates how one crucial element of testing, an operation for validating results by comparing abstract data values, can be generated automatically. This automation is shown to be feasible for ADTs built using other ADTs.

1. Introduction

Higher software quality and productivity are among the most important goals of the software development community. Reusable software components generally are seen as a key to achieving both of these goals. Two critical requirements for the widespread reuse of a component are that it must be formally specified and certified to be correct [Weide 91; Wing 90].

A reusable component (in programming language terms) is a module, package, or class, that typically provides an abstract data type (ADT) and associated operations. It is comprised of two parts: a specification formally describing its abstract behavior and an implementation providing that behavior. The goal of software certification is to ensure that the behavior of a

* This work has been sponsored by the Defense Advanced Research Projects Agency (DARPA) under contract No. MDA-972-88-C-0047 for DARPA Initiative in Concurrent Engineering (DICE).

**Murali Sitaraman is an Assistant Professor at the Department of Statistics and Computer Science, West Virginia University, Morgantown, WV 26506. His name appears as Sitaraman Muralidharan in some of his earlier publications.