Specifications as Search Keys for Software
     Libraries
Authors: E. R. Rollins and J. M. Wing 
Appears in Proceedings of the Eighth International Conference on Logic
     Programming, Paris, June 1991.  Also CMU-CS-90-159,
     September 1990. 
The full text of this paper is here (in
PostScript).  
Abstract
Searching through a large repository of objects can be a tedious activity if a
user cannot easily identify the object of interest.  In the context of software
development, we describe a method of searching through program libraries using
specification matching.  We use signature information along with pre- and
post-condition specifications as search keys to increase the recall and
precision of a query.  This paper details a case study of specification
matching where we use Lambda Prolog as our specification and query language and
higher-order unification to retrieve from a library of ML functions.  We
discuss the significance of specification matching in general and point out
some open issues.