Corrigenda A Hierarchy-Aware Approach to Faceted Classification of Object-Oriented Components

E. Damiani, M. G. Fugini, C. Bellettini

Research output: Contribution to journalArticlepeer-review

2 Scopus citations


This article presents a hierarchy-aware classification schema for object-oriented code, where software components are classified according to their behavioral characteristics, such as provided services, employed algorithms, and needed data. In the case of reusable application frameworks, these characteristics are constructed from their model, i.e., from the description of the abstract classes specifying both the framework structure and purpose. In conventional object libraries, the characteristics are extracted semiautomatically from class interfaces. Characteristics are term pairs, weighted to represent “how well” they describe component behavior. The set of characteristics associated with a given component forms its software descriptor. A descriptor base is presented where descriptors are organized on the basis of structured relationships, such as similarity and composition. The classification is supported by a thesaurus acting as a language-independent unified lexicon. The descriptor base is conceived for developers who, besides conventionally browsing the descriptors hierarchy, can query the system, specifying a set of desired functionalities and getting a ranked set of adaptable candidates. User feedback is taken into account in order to progressively ameliorate the quality of the descriptors according to the views of the user community. Feedback is made dependent of the user typology through a user profile. Experimental results in terms of recall and precision of the retrieval mechanism against a sample code base are reported.

Original languageBritish English
Pages (from-to)425-472
Number of pages48
JournalACM Transactions on Software Engineering and Methodology
Issue number4
StatePublished - 1 Oct 1999


  • Code analysis
  • component repositories
  • component retrieval
  • Documentation
  • software reuse
  • user feedback


Dive into the research topics of 'Corrigenda A Hierarchy-Aware Approach to Faceted Classification of Object-Oriented Components'. Together they form a unique fingerprint.

Cite this