The International Arab Journal of Information Technology (IAJIT)

..............................
..............................
..............................


Application of Intelligent Adaptive Neuro Fuzzy Method for Reusability of Component Based Software System

Component Based Software System (CBSS) provides an easy and efficient way to develop new software application with the help of existing software components of similar functionalities. It increases the reusability of software components and reduce the development time, cost and effort of software developers. To select the appropriate component, it become essential to assess the reusability of software components so that suitable component can be selected to reuse in another application. For assessing the reusability of CBSS, several factors are required to be considered. In this paper, four reusability sub-factors Interface Complexity (IC), Understandability (Un), Customizability (Co) and Reliability (Re) are used as input variables and reusability is assessed using Fuzzy Inference System (FIS) and Adaptive Neuro Fuzzy Inference System (ANFIS) approach because these two approaches are commonly used approach for assessing the quality factors. For experimental work, one case study has been done where rules are generated to assess reusability using four different reusability factors by taking feedback from researchers and academicians using online survey. Reusability was assessed for ten different values of input variables. Experiment shows that results obtained from ANFIS method were closer to the original values. Root Mean Square Error (RMSE) of FIS results was 6.05% which was further reduced by the application of ANFIS approach and finally 2.20% of RMSE was achieved. This research work will be helpful for software developers and researchers to assess the reusability of software components and they will be able to take corrective decision for choosing the appropriate component to be reused in new software applications, which will reduce their effort, time and cost of development.

[1] Agarwal J., Dubey S., and Tiwari R., “Proposal and Validation of Usability Model for Component Based Software System,” Engineering Journal, vol. 21, no. 5, pp. 243-255, 2017. DOI: https://doi.org/10.4186/ej.2017.21.5.243

[2] Agarwal J., Dubey S., and Tiwari R., “Usability Estimation of Component-based Software System Using Adaptive Neuro Fuzzy Approach,” International Journal of Advanced Intelligence Paradigms, vol. 22, no. 1-2, pp. 99-113, 2022. https://doi.org/10.1504/IJAIP.2022.123018

[3] Agarwal J. and Kumar M., “Software Metrics for Reusability of Component Based Software System: A Review,” The International Arab Journal of Information Technology, vol. 18, no. 3, pp. 319-325, 2021. https://doi.org/10.34028/iajit/18/3/8

[4] Ampatzoglou A., Kritikos A., Kakarontzas G., and Stamelos I., “An Empirical Investigation on the Reusability of Design Patterns and Software Packages,” Journal of Systems and Software, vol. 84, no. 12, pp. 2265-2283, 2011. https://doi.org/10.1016/j.jss.2011.06.047

[5] Beydoun G., Hoffmann A., Garcia R., Shen J., and Gill A., “Towards an Assessment Framework of Reuse: A Knowledge-level Analysis Approach,” Complex and Intelligent Systems, vol. 6, pp. 87- 95, 2020. https://doi.org/10.1007/s40747-019- 0116-1

[6] Diamantopoulos T. and Symeonidis A., Assessing the Reusability of Source Code Components, Springer, 2020. https://doi.org/10.1007/978-3- 030-30106-4_10

[7] Gao J., “Component Testability and Component Testing Challenges,” in Proceedings of the International Workshop on Component-based Software Engineering, San Jose, pp. 1-6, 2000. https://citeseerx.ist.psu.edu/document?repid=rep1 &type=pdf&doi=a224cc94581c74e1d991a0d233 ad47da7027ac81

[8] Geraci A., Katki F., McMonegal L., and Meyer B., IEEE Standard Computer Dictionary: Compilation of IEEE Standard Computer Glossaries, IEEE Press, 1991. https://dl.acm.org/doi/10.5555/574566

[9] Gill N., “Reusability Issues in Component-based Development,” ACM SIGSOFT Software Engineering Notes, vol. 28, no. 4, pp. 1-4, 2003. https://doi.org/10.1145/882240.882255

[10] Gill N., “Importance of Software Component Characterization for Better Software Reusability,” ACM SIGSOFT Software Engineering Notes, vol. 31, no. 1, pp. 1-3, 2006. DOI:10.1145/1108768.1108771

[11] Godara D. and Sangwan O., “Neuro-fuzzy Based Approach to Software Reusability Estimation,” IJCTA, International Science Press, vol. 9, pp. 3811-3891, 2016. https://www.researchgate.net/publication/312225 864_Neuro_fuzzy_based_approach_to_software_ reusability_estimation

[12] Goel S. and Sharma A., “Neuro Fuzzy based Approach to Predict Component’s Reusability,” International Journal of Computer Applications, vol. 106, no. 5, pp. 33-38, 2014. https://www.researchgate.net/publication/321097 131

[13] https://github.com/wssmanojkumar/SENGDATA .git, Last Visited: 2023.

[14] ISO/IEC 9126: Software Engineering-Product Quality-Part 1: Quality, “Model. International Organization for Standardization and International Electrotechnical Commission,”

[15] Jindal R. and Mittal S., “Software Reusability Metrics Estimation for Improving Stability by Clustering Base Convolution Neural Network,” Materials Today: Proceedings, 2020. https://doi.org/10.1016/j.matpr.2020.09.615

[16] Kaur K., Kaur P., Bedi J., and Singh H., “Towards a Suitable and Systematic Approach for Component Based Software Development,” International Journal of Computer and Information Engineering, vol. 1, no. 3, pp. 609- 612, 2007. https://zenodo.org/record/1055038

[17] Kumar V., Sharma A., Kumar R., and Grover P., “Quality Aspects for Component-Based Systems: A Metrics-Based Approach,” Journal of Software: Practices and Experience, vol. 42, no. 2, pp. 1531- 1548, 2012. https://doi.org/10.1002/spe.1153

[18] Kumar V., Kumar R., and Sharma A., “Applying Neuro-fuzzy Approach to Build the Reusability Assessment Framework across Soft-ware Component Releases - An Empirical Evaluation,” International Journal of Computer Applications, vol. 70, no. 15, pp. 41-47, 2013. DOI:10.5120/12041-8047 780 The International Arab Journal of Information Technology, Vol. 20, No. 5, September 2023

[19] Mohagheghi P., The Impact of Software Reuse and Incremental Development on the Quality of Large Systems, Doctoral Thesis, Norwegian University of Science and Technology, 2004. http://hdl.handle.net/11250/249882

[20] Mohan N., Kaur I., Kaur M., and Verma A., “Component Reusability for Component Based Software Engineering,” International Journal of Computer Science Technology, vol. 4, no. 1, pp. 53-56, 2013. https://www.researchgate.net/publication/275028 645_Component_Reusability_for_Component_B ased_Software_Engineering

[21] Nair T. and Selvarani R., “Estimation of Software Reusability: An Engineering Approach,” ACM SIGSOFT Software Engineering Notes, vol. 35, no. 1, pp. 1-6, 2010. https://doi.org/10.1145/1668862.1668868

[22] Negi P. and Tiwari U., “Machine Learning Algorithm for Assessing Reusability in Component Based Software Development,” Easy Chair Reprint, vol. 4142, pp. 1-8, 2020. https://easychair.org/publications/preprint/TLm5

[23] Nerurkar N., Sharma A., and Sagar S., “A Soft Computing Based Approach to Estimate Reusability of Software Components,” ACM SIGSOFT Software Engineering Notes, vol. 35, no. 4, pp. 1-4, 2010. https://doi.org/10.1145/1811226.1811235

[24] Pedrycz W., “Why Triangular Membership Functions?,” Fuzzy Sets Systems, vol. 64, no. 1, pp. 21-30, 1994. https://doi.org/10.1016/0165- 0114(94)90003-5

[25] Ravichandran K., Suresh P., and Sekr K., “ANFIS Approach for Optimal Selection of Reusable Components,” Research Journal of Applied Sciences Engineering and Technology, vol. 4, no. 24, pp. 5304-5312, 2012. https://www.researchgate.net/publication/269301 413_Corresponding_Author_ANFIS_Approach_f or_Optimal_Selection_of_Reusable_Components

[26] Sandhu P., Salaria D., and Singh H., “A Comparative Analysis of Fuzzy, Neuro-Fuzzy and Fuzzy-GA Based Approaches for Software Reusability Evaluation,” Worlds Academy of Science, Engineering and Technology, vol. 2, no. 2, pp. 693-696, 2008. DOI: doi.org/10.5281/zenodo.1085750

[27] Sharma A., Kumar R., and Grover P., “Critical Survey of Reusability Aspects for Software Components,” in Proceedings of the World Academy of Science, Engineering and Technology, Bangkok, Thai-land, pp. 419-424, 2007.

[28] Sharma A., Grover P., and Kumar R., “Reusability Assessment of Software Components,” ACM SIGSOFT Software Engineering Notes, vol. 34, no. 2, pp. 1-6, 2009. https://doi.org/10.1145/1507195.1507215

[29] Singh A. and Tomar P., “Estimation of Component Reusability through Reusability Metrics,” International Journal of Computer and Information Engineering, vol. 8, no. 11, pp. 2018- 2025, 2014. DOI: doi.org/10.5281/zenodo.1097333

[30] Singh C., Pratap A., and Singhal A., “An Estimation of Software Reusability using Fuzzy Logic Techniques,” in Proceedings of the International Conference on Signal Propagation and Computer Technology, Ajmer, pp. 250-256, 2014. DOI: 10.1109/ICSPCT.2014.6884890

[31] Singh S., Thapa M., Singh S., and Singh G., “Software Engineering-Survey of Reusability Based on Software Component,” International Journal of Computer Applications, vol. 8, no. 12, pp. 39-42, 2010. DOI:10.5120/1339-1736

[32] Suri P. and Garg N., “Software Reuse Metrics: Measuring Component Independence and its Applicability in Software Reuse,” International Journal of Computer Science and Network Security, vol. 9, no. 5, pp. 237-248, 2009. http://paper.ijcsns.org/07_book/200905/2009053 2.pdf

[33] Thakral S., Sagar S., and Vinay S., “Reusability in Component Based Software Development-A Review,” World Applied Sciences Journal, vol. 31, no. 12, pp. 2068-2072, 2014. DOI: 10.5829/idosi.wasj.2014.31.12.671

[34] Thapar S., Singh P., and Rani S., “Reusability- based Quality Framework for Software Components,” ACM SIGSOFT Soft-ware Engineering Notes, vol. 39, no. 2, pp. 1-5, 2014. https://doi.org/10.1145/2579281.2579298

[35] Thapar S. and Sarangal H., “Quantifying Reusability of Software Components Using Hybrid Fuzzy Analytical Hierarchy Process (FAHP)-Metrics Approach,” Applied Soft Computing, vol. 88, pp. 105997, 2020. https://doi.org/10.1016/j.asoc.2019.105997

[36] Trivedi P. and Kumar R., “Software Metrics to Estimate Software Quality Using Software Component Reusability,” International Journal of Computer Science Issues, vol. 9, no. 2, pp. 144- 149, 2012. https://www.researchgate.net/publication/267383 149_Software_Metrics_to_Estimate_Software_Q uality_using_Software_Component_Reusability

[37] Tyagi K. and Sharma A., “An Adaptive Neuro Fuzzy Model for Estimating the Reliability of Component-based Software Systems,” Applied Computing and Informatics, vol. 10, no. 1-2, pp. 38-51, 2014. https://doi.org/10.1016/j.aci.2014.04.002

[38] Washizaki H., Yamamoto H., and Fukazawa Y., “A Metrics Suite for Measuring Reusability of Application of Intelligent Adaptive Neuro Fuzzy Method ... 781 Software Components,” in Proceedings of the 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry, Sydney, pp. 211-223, 2003. DOI: 10.1109/METRIC.2003.1232469

[39] Yasir N., Jamil B., and Ferzund J., “PDCML: A Model for Enhancing Software Reusability,” International Journal of Software Engineering and Its Applications, vol. 7, no. 1, pp. 123-136, 2013. https://www.researchgate.net/publication/290545 743

[40] Ying W., Wang J., Deng Z., Zhang F., and Li Z., “Fuzzy Clustering with Self-growing Net,” International Journal of Fuzzy Systems, vol. 22, no. 8, pp. 450-460, 2020. DOI:10.1007/s40815- 019-00782-z