Vol-1, Issue-4
Vol-1, Issue-4
Vol-1, Issue-4
___________________________________________________________________________________________________________________________________
_______________________________________________________________________________________
A new approach for component retrieval from reuse repository using R-tool
Dr. Jasmine K.S1, Ravi Teja2
1Department of MCA, R.V.College of Engineering, Bangalore, Karnataka, India
2 Software Engineer, Aricent, Gurgaon, Haryana, India
_______________________________________________________________________________________
Abstract
A continuing challenge for software designers is to develop efficient and cost-effective software implementations. Many see software
reuse as a potential solution; however, the cost of reuse tends to outweigh the potential benefits. The costs of software reuse include
establishing and maintaining a library of reusable components, searching for applicable components to be reused in a design, as well
as adapting components toward a proper implementation. The study of storage and retrieval methods of software assets in software
libraries gives rise to a number of paradoxes: While this subject has been under investigation for nearly two decades, it still remains
an active area of research in software reuse and software engineering. The new technologies such as the internet, the world wide web
and object oriented programming keep opening new opportunities for better asset packaging, better library organizations, and larger
scale libraries – thereby posing new technical challenges. Also, while many sophisticated solutions have been proposed to this
problem, the state of the practice in software reuse is characterized by the use of adhoc approaches. This can be explained by the
observation that most existing solutions are either too ineffective to be useful or too intractable to be usable. Finally, it is difficult to
imagine a successful software reuse program without a sophisticated, systematic procedure for software component storage and
retrieval. In this context, a new method is suggested here for component classification and retrieval which makes use of R-Tool, an
open source tool for statistical computing and graphics. © 2017 ijrei.com. All rights reserved
Keywords: Software reuse, Component Retrieval, R-Tool
_______________________________________________________________________________________
Many organizations already practice a limited form of reuse, thoroughly in the information retrieval literature. Lexical
for example, most developers have libraries of components descriptor-based encoding approach also suffers from a
that they have developed in previous projects, or they use number of problems about developing and using classification
standard libraries, which are available with many vocabulary [11]. Software specific challenges include the fact
programming languages [5]. About 30% of the cases, it is a that one-word or one-phrase abstractions are hard to come by
very ad-hoc method of reuse, and it will work very well on a in the software domain [12]. From the user’s point of view,
small scale and it will not be suitable for entire organizations lack of familiarity with the vocabulary is also pointed out as
[6]. Instead, businesses need to implement a systematic reuse draw back in using a component retrieval system effectively
program in order to gain the full advantages of reuse. [14]. Vector space Model is also not a promising solution for
component retrieval process due to its semantic sensitivity [7].
1.2 What Can Be Reused? In this context, content based indexing schemata and ranking
based on frequency of occurrence of component search with
The definition of a reusable component is “any component that keywords will be a promising approach for establishing
is specifically developed to be used, and is actually used, in semantic connections between queries and documents.
more than one context” [4]. This does not just include code;
other products from the system lifecycle can also be reused, 3. Methods used
such as specifications and designs, and even requirements on
occasion [3]. ‘Components’ in this case can be taken to include 3.1. Proposed Document Retrieval Approach
all potentially reusable products of the system lifecycle,
including code, documentation, design, requirements etc. R is the powerful open-source implementation of the language
There are various criteria that should be satisfied in order for S. R is a very effective statistical tool and well worth the effort
an asset to be successfully reusable. These are grouped into to learn. R is polymorphic, which means that the same function
general, functional and technical requirements [14]. General can be applied to different types of objects, with results tailored
requirements focus on aspects such as compliance with to the different object types [1].
relevant standards, completeness, modularity and simplicity. In the proposed approach, the outstanding statistical and
All components should conform to the general requirements. graphical capabilities of R is used to make a frequency count
Functional requirements include such concerns as which of the word search (based on the software component) and a
business processes it will simulate or automate, and how well visualization mechanism is followed which facilitates easy
it does this. Functional requirements mainly concern Vertical understanding of the method adopted.
or Domain-specific assets and tend to be very specific to each
information domain. Lastly, technical requirements refer to
criteria such as interoperability, portability, communication,
security etc [2].
There are different levels of reuse, which can be considered
[3]. At the highest level, entire applications can be reused on
different platforms provided they are portable. Sub-systems
can be reused within different applications, possibly within
different domains; for example, a login system could be used
in a database application as well as a control application. At a
lower level modules or objects can be reused, and at the very
lowest level single functions can be reused. This is also known
as classification of the granularity of components. Fine grained
is used to describe those smaller and more generic components,
for example file access functions, or I/O functions. Course
grained is used for the more complex components, for example
user-interface packages [5]. Reusable assets can be also being Figure 1: R visualization with simple data
built in-house, retrieved from legacy systems or can be bought
from an external source [4]. R can import data from CSV files, Excel, SAS and produces
the output in pdf, jpg, png formats and also table output.
2. Present scenario in the component retrieval process
Steps Adopted
Existing approaches to software component retrieval process
cover a wide spectrum of component encoding methods and Step: 1
search or matching algorithms. The encoding methods differ
with respect to their soundness, completeness, and the extent Consider three files as input and stored as .csv files namely
to which they support an estimate of the effort it takes to cc1.csv, cc2.csv, and cc3.csv (Assumption: searching for a
modify a component. Text-based encoding and retrieval is document which addresses the ‘Cloud Computing’ concept in
neither sound nor complete. Its disadvantages have been the reuse repository)
26
Jasmine K.S et al/ International journal of research in engineering and innovation (IJREI), vol 1, issue 4 (2017), 25-29
Step: 2
Step: 3
Consider also the complete word 'Cloud Computing ' and find
the frequency of it.
(Actually, the words are arranged in ascending order from a to
z).
Step: 4
Figure 6: CC2RPlot
Figure 3: Histogram of dataset1
27
Jasmine K.S et al/ International journal of research in engineering and innovation (IJREI), vol 1, issue 4 (2017), 25-29
Figure 7: Tool Generated Word frequenncy table cc3.csv Figure 10: Tool Generated ‘Cloud Computing’ word count
table and tail words
4. Conclusion
References
28
Jasmine K.S et al/ International journal of research in engineering and innovation (IJREI), vol 1, issue 4 (2017), 25-29
29