Software maintainability prediction using hybrid neural network and fuzzy logic approach with parallel computing concept

被引:22
作者
Kumar L. [1 ]
Rath S.K. [1 ]
机构
[1] Department of Computer Science and Engineering, National Institute of Technology, Rourkela
关键词
Artificial neural network; Fuzzy Logic; Maintainability; Parallel computing; Source code metrics;
D O I
10.1007/s13198-017-0618-4
中图分类号
学科分类号
摘要
In present day scenario, majority of software companies use object-oriented concept to develop software systems as it enables effective design, development, testing and maintenance, in addition to the optimal characterization of the software system. With the increase in number of these software systems, their effective maintenance aspect becomes very important day by day. In this study, Neuro-Fuzzy approach: hybrid neural network and fuzzy logic approach has been considered to develop a maintainability model using ten different object-oriented static source code metrics as input. This method is applied on maintainability data of two commercial software products such as UIMS and QUES. Rough set analysis (RSA) and principal component analysis (PCA) are used to select suitable set of metrics from the ten metrics employed to improve performance of maintainability prediction model. From experimental results, it is observed that Neuro-Fuzzy model can effectively predict the maintainability of object-oriented software systems. After implementing parallel computing concept, it is observed that the training time gets reduced to a significant amount when the number of computing nodes were increased. Further it is observed that selected subset of metrics using feature selection techniques i.e., PCA, and RSA was able to predict maintainability with higher accuracy. © 2017, The Society for Reliability Engineering, Quality and Operations Management (SREQOM), India and The Division of Operation and Maintenance, Lulea University of Technology, Sweden.
引用
收藏
页码:1487 / 1502
页数:15
相关论文
共 49 条
[1]  
Abreu F.B.E., Carapuca R., Object-oriented software engineering: measuring and controlling the development process. In: Proceedings of the 4th international conference on software quality, vol 186, pp 1–8, (1994)
[2]  
Adeli H., Hung S.-L., Machine learning: neural networks, genetic algorithms, and fuzzy systems, (1994)
[3]  
Aggarwal K.K., Singh Y., Chandra P., Puri M., Measurement of software maintainability using a fuzzy model, J Comput Sci, 1, 4, pp. 538-542, (2005)
[4]  
Aggarwal K.K., Singh Y., Kaur A., Malhotra R., Application of artificial neural network for predicting maintainability using object-oriented metrics, Trans Eng Comput Technol, 15, pp. 285-289, (2006)
[5]  
Al-Jamimi H., Ahmed M., Et al., Prediction of software maintainability using fuzzy logic, 3rd international conference on software engineering and service science (ICSESS, pp. 702-705, (2012)
[6]  
Aljamaan H., Elish M.O., Ahmad I., An ensemble of computational intelligence models for software maintenance effort prediction, Advances in computational intelligence, pp. 592-603, (2013)
[7]  
Bandi R.K., Vaishnavi V.K., Turk D.E., Predicting maintenance performance using object-oriented design complexity metrics, IEEE Trans Softw Eng, 29, 1, pp. 77-87, (2003)
[8]  
Banker R.D., Datar S.M., Kemerer C.F., Zweig D., Software complexity and maintenance costs, Commun ACM, 36, 11, pp. 81-94, (1993)
[9]  
Basili V.R., Briand L.C., Melo W.L., A validation of object-oriented design metrics as quality indicators, IEEE Trans Softw Eng, 22, 10, pp. 751-761, (1996)
[10]  
Baski D., Misra S., Metrics suite for maintainability of extensible markup language web services, IET Softw, 5, 3, pp. 320-341, (2011)