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).
[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.
[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.
@article{"International Journal of Information, Control and Computer Sciences:57257", author = "Sonia Manhas and Parvinder S. Sandhu and Vinay Chopra and Nirvair Neeru", title = "Identification of Reusable Software Modules in Function Oriented Software Systems using Neural Network Based Technique", abstract = "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).", keywords = "Software reusability, Neural Networks, MAE,
RMSE, Accuracy.", volume = "4", number = "7", pages = "1163-5", }