08-16-2017, 09:21 PM
AI-based Classification and Retrieval of Reusable Software
Components
[attachment=846]
Abstract
The concept of software reusability is examined from
the perspective of classifying and accessing reusable
software. To improve the practicality of software
reuse, one has to have a knowledge of its location,
an understanding of the reusable components, and its
adaptability to a particular need. The current stateof-
the-art methods are assessed, and a new system for
performing cfassification-based reuse is proposed. The
concepts of subsumption and closeness introduced in
[l] are used by the proposed reuse system to facilitate
searching for reusable components and to provide capabilities
for helping programmers to assess the worth
of reusing particular packages.
Introduction
Software reuse is widely believed to be a promising
means for improving software productivity and reliability
[2]. It is, therefore, of growing interest in software
engineering. Effective reuse-of software designs
requires a collection of good design components and
knowledge about how to locate and combine appropriate
components into a particular software design. In
general, to reuse existing code, the following phases
[l] are required: (1) Representation.
Previous Work
An AI-based Reuse System (AIRS) for software reuse
is described in [3]. Candidate reuse components and
packages are selected from the library based on the
degree of similarity between their descriptions and a
given target description.
An information retrieval system (making use of developments
in natural language research) which is designed
for storing and retrieving information about
software components is given in [4].
Reuse System: A new approach
This section describes the classification-based approach
and algorithms used by the proposed reuse system.
3.1 Reuse Model
The proposed reuse system uses a classification-based
approach to reuse as presented in [3]. In this approach,
the different software components are classified using
two different concepts - subsumption and closeness.
Subsumption captures the idea that operations
are constructed using function components. Closeness
captures the idea that an operation A can be constructed
from another operation B by modifying B s
code.
A Model for Implementing Reuse
This section describes the implementation details of
the proposed reuse system. Figure 1 shows the major
modules that compose this reuse system, and the dependencies
among them. This reuse system is divided
into four major parts.