Results 1 -
4 of
4
Specification Matching of Software Components
- ACM Transactions on Software Engineering and Methodology
, 1996
"... Specification matching is a way to compare two software components based on descriptions of the components' behaviors. In the context of software reuse and library retrieval, it can help determine whether one component can be substituted for another or how one can be modified to fit the requireme ..."
Abstract
-
Cited by 251 (4 self)
- Add to MetaCart
Specification matching is a way to compare two software components based on descriptions of the components' behaviors. In the context of software reuse and library retrieval, it can help determine whether one component can be substituted for another or how one can be modified to fit the requirements of the other. In the context of object-oriented programming, it can help determine when one type is a behavioral subtype of another. We use formal specifications to describe the behavior of software components, and hence, to determine whether two components match. We give precise definitions of not just exact match, but more relevantly, various flavors of relaxed match. These definitions capture the notions of generalization, specialization, and substitutability of software components. Since our formal specifications are pre- and post-conditions written as predicates in firstorder logic, we rely on theorem proving to determine match and mismatch. We give examples from our impleme...
Signature Matching: a Tool for Using Software Libraries
- ACM Transactions on Software Engineering and Methodology
, 1995
"... this document are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of Wright Laboratory or the U. S. Government. The U. S. Government is authorized to reproduce and distribute reprints for Government pu ..."
Abstract
-
Cited by 106 (2 self)
- Add to MetaCart
this document are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of Wright Laboratory or the U. S. Government. The U. S. Government is authorized to reproduce and distribute reprints for Government purposes notwithstanding any copyright notation thereon. This manuscript is submitted for publication with the understanding that the U. S. Government is authorized to reproduce and distribute reprints for Governmental purposes. Authors' address: School of Computer Science, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, PA 15213; email: amy;wing@cs.cmu.edu. To appear, ACM Transactions on Software Engineering and Methodology (TOSEM), April 1995. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. c fl 1995 ACM xxxx-xxxx/xx/xxxx-xxxx $xx.xx 2 \Delta A. Moormann Zaremski and J. M. Wing ware libraries successfully, especially as libraries increase in size, is the availability of good tools to organize, navigate through, and retrieve from libraries. Currently many libraries use the file system for their only organization (directories and files) and file system and editor commands for navigation and retrieval. For example, the local ML library is organized with categories of components as directories (e.g., local/lib/Container/, local/lib/Threads/); one uses ls and
Supporting Component-Based Software Development with Active Component Repository Systems
, 2001
"... ..."
Retrieving Software Components That Minimize Adaptation Effort
- Proceedings of the IEEE International Conference on Automated Software Engineering
, 1997
"... Given a software library whose components are represented by formal specifications, we distinguish between two types of retrieval procedures: exact retrieval, whereby, given a query K, we identify all (and only) the library components that are correct with respect to K; approximate retrieval, which ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
Given a software library whose components are represented by formal specifications, we distinguish between two types of retrieval procedures: exact retrieval, whereby, given a query K, we identify all (and only) the library components that are correct with respect to K; approximate retrieval, which is invoked in case exact retrieval fails, and which (ideally) identifies the library components that minimize the required adaptation effort (once such a component is retrieved, the effort of adapting it to satisfy query K is minimal over the set of all the components of the library). To this effect, we define four measures of functional distance between specifications, and devising algorithms that minimize these measures over a structured set of components; then we discuss to what extent these measures can be used as predictors of adaptation effort. Correspondence author. 1 Exact Retrieval and Approximate Retrieval Software libraries are repositories where software components can be ...

