Specification Slicing

"Static and Dynamic Specification Slicing," by J. Chang and D.J. Richardson in Proceedings of the Fourth Irvine Software Symposium , April 1994

Abstract

A specification slice is a projection of a formal specification, which is simpler and potentially more comprehensible than the original specification. A static specification slice contains specifications that might restrict the value of a variable. A dynamic specification slice consists of specifications that actually affect the value of a variable along the sequence of operations performed. Dynamic specification slicing is a more powerful technique than static specification slicing, because dynamic slices are smaller than corresponding static slices. We discuss how dynamic specification slicing can be used in validating and debugging the specification and in creating test oracles for testing the implementation.
from Debra J. Richardson
djr@ics.uci.edu
Department of Information and Computer Science, 
University of California, Irvine CA 92717-3425