The COOR environment (Classification of Object-Oriented Code for Reuse
) is based on an abstraction method that represents code behavior in t
erms of software descriptors. Descriptors constitute a classification
and retrieval unit and are constructed from source code and other docu
mentation as lists of term pairs, called features, that describe compo
nent functionalities. The protocol for efficiently extracting features
from OO code interfaces assumes that methods have consistent and cohe
rent names with respect to the concepts they represent. COOR extracts
features from code semiautomatically, because it is not feasible to co
mpletely automate the information-extraction process (the process of d
eriving higher abstractions from lower ones). In our approach, a human
expert, or application engineer, maintains the system for an audience
of users, or application developers. COOR provides tools for the clas
sification and search for reuse candidates. Our experience with COOR s
uggests that descriptors can provide several advantages over class int
erfaces. COOR descriptors support different levels of component classi
fication granularity (like application frameworks rather than single c
lasses). Moreover, in COOR, component behavior description is enhanced
due to filtering out linguistic noise by means of a controlled vocabu
lary.