A Comparative Analysis of Fuzzy, Neuro-Fuzzy and Fuzzy-GA Based Approaches for Software Reusability Evaluation

Software Reusability is primary attribute of software quality. There are metrics for identifying the quality of reusable components but the function that makes use of these metrics to find reusability of software components is still not clear. These metrics if identified in the design phase or even in the coding phase can help us to reduce the rework by improving quality of reuse of the component and hence improve the productivity due to probabilistic increase in the reuse level. In this paper, we have devised the framework of metrics that uses McCabe-s Cyclometric Complexity Measure for Complexity measurement, Regularity Metric, Halstead Software Science Indicator for Volume indication, Reuse Frequency metric and Coupling Metric values of the software component as input attributes and calculated reusability of the software component. Here, comparative analysis of the fuzzy, Neuro-fuzzy and Fuzzy-GA approaches is performed to evaluate the reusability of software components and Fuzzy-GA results outperform the other used approaches. The developed reusability model has produced high precision results as expected by the human experts.




References:
[1] E. Smith, A. Al-Yasiri, and M. Merabti, "A Multi-Tiered Classification
Scheme for Component Retrieval," Proc. Euromicro Conference, 1998,
24th Volume 2, 25-27 Aug. 1998, pp. 882 - 889.
[2] V.R. Basili, "Software Development: A Paradigm for the Future," Proc.
COMPAC ÔÇÿ89, Los Alamitos, Calif.: IEEE CS Press, 1989, pp. 471- 485.
[3] B. W. Boehm and R. Ross, "Theory-W Software Project Management:
Principles and Examples," IEEE Trans. Software Eng., vol.15, no. 7,
1989, pp. 902.
[4] W. Lim, "Effects of Reuse on Quality, Productivity, and Economics,"
IEEE Software, vol. 11, no. 5, Oct. 1994, pp. 23-30.
[5] H. Mili, F. Mili and A. Mili, "Reusing Software: Issues and Research
Directions," IEEE Transactions on Software Engineering, Volume 21,
Issue 6, June 1995, pp. 528 - 562.
[6] G. Caldiera and V. R. Basili, "Identifying and Qualifying Reusable
Software Components", IEEE Computer, February 1991, pp. 61-70.
[7] W. Humphrey, Managing the Software Process, SEI Series in Software
Engineering, Addison-Wesley, 1989.
[8] L. Sommerville, Software Engineering, Addision-Wesley, 4th Edition,
1992.
[9] R. S. Pressman, Software Engineering: A Practitioner-s Approach,
McGraw-Hill Publications, 5th edition, 2005.
[10] G. Boetticher and D. Eichmann, "A Neural Network Paradigm for
Characterising Reusable Software," Proceedings of the 1st Australian
Conference on Software Metrics, 18-19 November 1993.
[11] S. V. Kartalopoulos, Understanding Neural Networks and Fuzzy Logic-
Basic Concepts and Applications, IEEE Press, 1996, pp. 153-160.
[12] Parvinder Singh Sandhu and Hardeep Singh, "Automatic Reusability
Appraisal of Software Components using Neuro-Fuzzy Approach",
International Journal of Information Technology, vol. 3, no. 3, 2006,
pp. 209-214.
[13] Richard W. Selby, "Enabling Reuse-Based Software Development of
Large-Scale Systems", IEEE Trans. Software Eng., 31(6), (June 2005),
pp. 495-510.
[14] T. MaCabe, "A Software Complexity measure", IEEE Trans. Software
Eng., vol. SE-2 (December 1976), pp. 308-320.
[15] G. Caldiera and V. R. Basili, Identifying and Qualifying Reusable
Software Components, IEEE Computer, (1991), pp. 61-70.
[16] Maurice H. Halstead, Elements of Software Science (Elsevier North-
Holland, New York, 1977).