Journal of King Saud University: Computer and Information Sciences (Sep 2022)
Metrics for reusability of java language components
Abstract
Software reuse is a promising opportunity for a software development process that helps in achieving an improved quality of the developed software system. Improved quality also promotes software architecture reuse opportunities. From the past few decades, software reuse is actively gaining popularity in the form of Component Based Software Development (CBSD). The components being the basic unit in CBSD, accessing their reusability is a useful and open area of investigation. The extent of the reusability can be quantified based on the extent of intra and inter-connectivity of the attributes/ characteristics of the component. This can be computed by defining suitable metrics to measure the reusability of a component. Although, there exist some metric suites such as CK, MOOD, Halstead, McCabe’s metric, etc. for measuring the reusability of the object-oriented software systems, but they are not directly reusable in the CBSD environment. This is due to the fact that these metrics are applicable only at the class level and they do not target the interfaces of the component that are important and define the composability of the component in the CBSD environment. Therefore, this paper aims to study the reusability, flexibility, composability, and adaptability aspects of the software component. Further, based on the study conducted, we propose a reusability metric suite specially designed for the JavaBeans. This metric helps to measure the architecture level reusability of the JavaBeans. The JavaBeans component standard is specially targeted in this paper because components based on this standard are not fully explored and only a few metric suites exist for measuring the reusability of the JavaBeans. The proposed component reusability metric suite is validated both experimentally as well as against Briand’s framework.