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.
[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).
[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).
@article{"International Journal of Information, Control and Computer Sciences:64803", author = "Parvinder Singh Sandhu and Dalwinder Singh Salaria and Hardeep Singh", title = "A Comparative Analysis of Fuzzy, Neuro-Fuzzy and Fuzzy-GA Based Approaches for Software Reusability Evaluation", abstract = "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.", keywords = "Software Reusability, Software Metrics, Neural
Networks, Genetic Algorithm, Fuzzy Logic.", volume = "2", number = "3", pages = "978-4", }