Abstract

Automatic reusability appraisal is helpful in evaluating the quality of developed or developing reusable software components and in identification of reusable components from existing legacy systems; that can save cost of developing the software from scratch. But the issue of how to identify reusable components from existing systems has remained relatively unexplored. In this paper, we mention a two-tier approach by studying the structural attributes as well as usability or relevancy of the component to a particular domain. We evaluate Probabilistic Latent Semantic Analysis (PLSA) approach, LSA's Singular Value Decomposition (SVD) technique, LSA's Semi-Discrete Matrix Decomposition (SDD) technique and Naïve Bayes approach to determine the Domain Relevancy of software components. It exploits the fact that Feature Vector codes can be seen as documents containing terms — the identifiers present in the components — and so text modeling methods that capture co-occurrence information in low-dimensional spaces can be used. In this research work, structural attributes of software components are explored using software metrics and quality of the software is inferred by Neuro-Fuzzy (NF) Inference engine, taking the metric values as input. The influence of different factors on the reusability is studied and the condition for the optimum reusability index is derived using Taguchi Analysis. The NF system is optimized by selecting initial rule-base through modified ID3 decision tree algorithm in combination with the results of Taguchi Analysis. The calculated reusability value enables to identify a good quality code automatically. It is found that the reusability value determined is close to the manual analysis used to be performed by the programmers or repository managers. So, the system developed can be used to enhance the productivity and quality of software development.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call