Identification of Reusable Software Modules in Function Oriented Software Systems using Neural Network Based Technique

The cost of developing the software from scratch can be saved by identifying and extracting the reusable components from already developed and existing software systems or legacy systems [6]. But the issue of how to identify reusable components from existing systems has remained relatively unexplored. We have used metric based approach for characterizing a software module. In this present work, the metrics 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 are used as input attributes to the different types of Neural Network system and reusability of the software component is calculated. The results are recorded in terms of Accuracy, Mean Absolute Error (MAE) and Root Mean Squared Error (RMSE).




References:
[1] Gill, Nasib S., "Importance of Software Component Characterization for
Better Software Reusability", ACM SIGSOFT Software Engineering
Notes, vol. 31 No. 1, Jan 2006, pp. 1-3.
[2] Gomes, P. and Bento, C., "A Case Similarity Metric For Software Reuse
And Design", Artificial Intelligence for Engineering Design, Analysis
and Manufacturing, vol. 15, issue 1, 2001, pp. 21-35.
[3] Isakowitz, T. and Kauffman, R.J., "Supporting Search For Reusable
Software Objects", IEEE Trans. Software Eng., vol. 22, issue 6, Jun
1996, pp. 407-423.
[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] 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..
[12] T. MaCabe, "A Software Complexity measure", IEEE Trans. Software
Eng., vol. SE-2 (December 1976), pp. 308-320.
[13] G. Caldiera and V. R. Basili, Identifying and Qualifying Reusable
Software Components, IEEE Computer, (1991), pp. 61-70.
[14] Herenji, H. R. and Khedkar, P (1992), "Learning and Tuning Fuzzy
Logic Controllers through Reinforcements", IEEE Transactions on
Neural Networks, vol. 3, 1992, pp. 724-740.
[15] Challagulla, V.U.B., Bastani, F.B., I-Ling Yen, Paul, (2005), "Empirical
assessment of machine learning based software defect prediction
techniques", 10th IEEE International Workshop on Object-Oriented
Real-Time Dependable Systems, WORDS 2005, 2-4 Feb 2005, pp. 263-
270.