The study of storage and retrieval methods of software assets in softw
are libraries gives rise to a number of paradoxes: While this subject
has been under investigation for nearly two decades, it still remains
an active area of research in software reuse and software engineering;
this can be explained by the observation that new technologies (such
as the internet, the world wide web, object-oriented programming) keep
opening new opportunities for better asset packaging, better library
organizations, and larger scale libraries - thereby posing new technic
al challenges. Also, while many sophisticated solutions have been prop
osed to this problem, the state of the practice in software reuse is c
haracterized by the use of ad-hoc, low-tech methods; this can be expla
ined by the observation that most existing solutions are either too in
effective to be useful or too intractable to be usable. Finally, while
it is difficult to imagine a successful software reuse program withou
t a sophisticated, well-tuned, systematic procedure for software compo
nent storage and retrieval, it seems many successful software reuse ex
periments rely on trivial methods of component storage and retrieval;
this can be explained by the observation that, in the current state of
the practice, software libraries are not the bottleneck of the softwa
re reuse process. This paper presents a survey of methods of storage a
nd retrieval of software assets in software libraries. In addition to
a review of existing research efforts, the paper makes two contributio
ns. First, a definition of (presumably) orthogonal attributes of stora
ge and retrieval methods; these attributes are used, in turn, to class
ify existing methods into six broad classes. Second, a definition of (
presumably) orthogonal assessment criteria, which include technical, m
anagerial and human factors; these criteria afford us an exhaustive an
d uniform basis for assessing and comparing individual methods and cla
sses of methods.