Defining substitutability criteria for object oriented components
Component-Based Software Development (CBSD) promotes software reusability by allowing new functionalities to be added and existing functionalities to be removed or replaced easily. However, high reusability comes with its own cost, namely the difficulty in selecting suitable candidates for adaptatio...
Main Author: | |
---|---|
Format: | Others |
Published: |
2008
|
Online Access: | http://spectrum.library.concordia.ca/975183/1/MR45512.pdf Arnaoudova, Venera <http://spectrum.library.concordia.ca/view/creators/Arnaoudova=3AVenera=3A=3A.html> (2008) Defining substitutability criteria for object oriented components. Masters thesis, Concordia University. |
Summary: | Component-Based Software Development (CBSD) promotes software reusability by allowing new functionalities to be added and existing functionalities to be removed or replaced easily. However, high reusability comes with its own cost, namely the difficulty in selecting suitable candidates for adaptation tasks. Even though research has been conducted toward identification of such components, current methods rely on an existing system specification, which is more often either not available or inconsistent with other artifacts such as implementation. In this dissertation, we complement current works by proposing a novel approach to compare software components at source code level independent on the existence, or otherwise, of the specification. We consider Open-Source Software (OSS) components written in Java at three levels of granularity, namely methods, types and packages. Consequently, we define substitutability criteria at three levels of abstraction and provide metrics indicating the degree of matching of two components. We provide automation and tool support through an Eclipse plug-in and we demonstrate our method through a case study. We expect our approach to be beneficial to maintainers during the selection of suitable candidate components. |
---|