Hybrid Maintainability Prediction using Soft Computing Techniques
DOI:
https://doi.org/10.47839/ijc.20.3.2280Keywords:
Neuro-fuzzy, Neural Network, Dynamic, MaintainabilityAbstract
Effective software maintenance is a crucial factor to measure that can be achieved with the help of software metrics. In this paper, authors derived a new approach for measuring the maintainability of software based on hybrid metrics that takes advantages of both i.e. static metrics and dynamic metrics in an object-oriented environment whereas, dynamic metrics capture the run time features of object-oriented languages i.e. run time polymorphism, dynamic binding etc. which is not covered by static metrics. To achieve this, the authors proposed a model based on static and hybrid metrics to measure maintainability factor by using soft computing techniques and it is found that the proposed neuro-fuzzy model was trained well and predict adequate results with MAE 0.003 and RMSE 0.009 based on hybrid metrics. Additionally, the proposed model was validated on two test datasets and it is concluded that the proposed model performed well, based on hybrid metrics.
References
R. S. Pressman, Software Engineering – A Practitioner's Approach, 7th ed., McGraw Hill, 2005.
MATLAB Neural Network Tool Box 2016 Product Help.
L. Kumar, S.K. Rath, “Software maintainability prediction using hybrid neural network and fuzzy logic approach with parallel computing concept,” International Journal of System Assurance Engineering and Management, Springer, vol. 8, pp. 1487–1502, 2017. https://doi.org/10.1007/s13198-017-0618-4.
S. R. Chidamber, C. F. Kemerer, “A metrics suite for object oriented design,” IEEE Transactions on Software Engineering, vol.20, issue 6, pp. 476-493, 1994. https://doi.org/10.1109/32.295895.
tusharma.in/technical/revisiting-lcom/
Manju, P. K. Bhatia, “Measurement of dynamic cohesion using aspect oriented approach,” International Journal of Research and Analytical Reviews (IJRAR), vol. 6, issue 2, pp. 438-432, 2019.
W. Li, S. Henry, “Maintenance metrics for the object-oriented paradigm,” Proceedings of the First IEEE International Software Metrics Symposium, 1993, pp. 52–60.
P. Oman, J. Hagemeister, “Construction and testing of polynomials predicting software maintainability,” Journal of Systems and Software, Elsevier, vol. 24, issue 3, pp. 251–266, 1994. https://doi.org/10.1016/0164-1212(94)90067-1.
S. L. Schneberger, “Distributed computing environments: effects on software maintenance difficulty,” Journal of Systems and Software, Elsevier, vol. 37, issue 2, pp. 101–116, 1997. https://doi.org/10.1016/S0164-1212(96)00107-0.
R. Kohavi, “Relation between software metrics and maintainability,” Proceedings of the FESMA99 International Conference, Federation of European Software Measurement Associations, Amsterdam, The Netherlands, vol. 1, pp. 465–476, 1999.
M. Dagpinar, J.H. Jahnke, “Predicting maintainability with object oriented metrics – An empirical comparison,” Proceedings of the 20th Working Conference on Reverse Engineering (WCRE), 2003, pp. 155–164.
K. K. Aggarwal, Y. Singh, A. Kaur, R. Malhotra, “Application of artificial neural network for predicting maintainability using object-oriented metrics,” Proceedings of the World Academy of Science, Engineering and Technology, vol. 15, pp. 140–144, 2006.
Y. Zhou, H. Leung, “Predicting object-oriented software maintainability using multivariate adaptive regression spline,” Journal of Systems and Software, Elsevier, vol. 80, issue 8, pp. 1349–1361, 2007. https://doi.org/10.1016/j.jss.2006.10.049.
M. O. Elish, K. O. Elish, “Application of TreeNet in predicting object-oriented software maintainability: a comparative study,” Proceedings of the 13th European Conference on Software Maintenance and Reengineering, CSMR’09, 2009, pp. 69–78. https://doi.org/10.1109/CSMR.2009.57.
C. Jin, J.-A. Liu, “Applications of support vector maсhine and unsupervised learning for predicting maintainability using object oriented metrics,” Proceedings of the IEEE Second International Conference on Multimedia and Information Technology, Kaifeng, 2010, pp. 24-27. https://doi.org/10.1109/MMIT.2010.10.
H. Al-Jamimi, M. Ahmed, “Prediction of software maintainability using fuzzy logic,” Proceedings of the 3rd International Conference on Software Engineering and Service Science (ICSESS), 2012, pp. 702–705. https://doi.org/10.1109/ICSESS.2012.6269563.
H. Aljamaan, M. O. Elish, I. Ahmad, “An ensemble of computational intelligence models for software maintenance effort prediction,” Proceedings of the Advances in Computational Intelligence, 2013, pp. 592–603. https://doi.org/10.1007/978-3-642-38679-4_60.
A. A. B. Baqais, M. Alshayeb, Z. A. Baig, “Hybrid intelligent model for software maintenance prediction,” Proceedings of the World Congress on Engineering, 2013, vol. 1, pp. 358-362.
R. Malhotra, A. Chug, “Application of group method of data handling model for software maintainability prediction using object oriented systems,” Int. J. Syst. Assur. Eng. Manag., Springer, vol. 5, issue 2, pp. 165–173, 2014. https://doi.org/10.1007/s13198-014-0227-4.
H. Sharma, A. Chug, “Dynamic metrics are superior than static metrics in maintainability prediction: An empirical case study,” Proceedings of the 4th IEEE International Conference on Reliability, Infocom Technologies and Optimization (ICRITO), pp. 1-6, 2015. https://doi.org/10.1109/ICRITO.2015.7359354.
CodeMR guide (2020), https://www.codemr.co.uk/docs/codemr-intellij-userguide.pdf
AspectJ, 2020, http://www.eclipse.org/aspectj
AspectJ tutorial, 2020. https://o7planning. org/en/10257/Java-aspect-oriented-programming-tutorial-with-aspectj
Eclipse guide, 2020. https://www.eclipse.org/aspectj/doc/next/progguide/printable.html
S. S. Aksenova, “Machine Learning with WEKA”, WEKA Explorer Tutorial, 2004.
J. Han, M. Kamber, Data Mining Concepts and Techniques, 2nd ed., Elsevier, 2006.
J. Ulrich, Supervised Machine Learning for Email Thread Summarization, Master’s Thesis, University of British Columbia, Vancouver, Austin, 2006.
Downloads
Published
How to Cite
Issue
Section
License
International Journal of Computing is an open access journal. Authors who publish with this journal agree to the following terms:• Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
• Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
• Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work.