A Metric Suite for Predicting Software Maintainability in Data Intensive Applications

Conference paper

Abstract

Software maintainability is the vital aspect of software quality and defined as the ease with which modifications can be made once the software is delivered. Tracking the maintenance behaviour of a software product is very complex that is widely acknowledged by the researchers. Many research studies have empirically validated that the prediction of object oriented software maintainability can be achieved before actual operation of the software using design metrics proposed by Chidamber and Kemerer (C&K). However, the framework and reference architecture in which the software systems are being currently developed have changed dramatically in recent times due to the emergence of data warehouse and data mining field. In the prevailing scenario, certain deficiencies were discovered when C&K metric suite was evaluated for data intensive applications. In this study, we propose a new metric suite to overcome these deficiencies and redefine the relationship between design metrics with maintainability. The proposed metric suite is evaluated, analyzed and empirically validated using five proprietary software systems. The results show that the proposed metric suite is very effective for maintainability prediction of all software systems in general and for data intensive software systems in particular. The proposed metric suite may be significantly helpful to the developers in analyzing the maintainability of data intensive software systems before deploying them.

Keywords

Data intensive applications Empirical validation Machine learning Prediction models Software design metric Software maintainability 

References

  1. 1.
    IEEE Standard 1219–1993. IEEE Standard for Software Maintenance. INSPEC Accession Number: 4493167 doi:  10.1109/IEEESTD.1993.115570 June, 1993
  2. 2.
    Software Engineering Standards Committee of the IEEE Computer Society, IEEE Std. 828–1998 IEEE Standard for Software Configuration Management Plans, http://standards.ieee.org/findstds/standard/828-1998.html
  3. 3.
    K.K. Aggarwal, Y. Singh, A. Kaur, R. Malhotra, Analysis of object-oriented metrics, in International Workshop on Software Measurement (IWSM), 2005Google Scholar
  4. 4.
    R. Bandi, Predicting maintenance performance using object-oriented design complexity metrics. IEEE Trans. Softw. Eng. 29(1), 77–87 (2003)Google Scholar
  5. 5.
    S. Chidamber, C. Kemerer, A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994)CrossRefGoogle Scholar
  6. 6.
    W. Li, S. Henry, Object-oriented metrics that predict maintainability. J. Syst. Softw. 23, 111–122 (1993)CrossRefGoogle Scholar
  7. 7.
    K.K. Aggarwal, Y. Singh, A. Kaur, R. Malhotra, Application of artificial neural network for predicting maintainability using object oriented metrics. Proc. World Acad. Sci. Eng. Technol. 15, 285–289 (2006)Google Scholar
  8. 8.
    Y. Zhou, H. Leung, Predicting object-oriented software maintainability using multivariate adaptive regression splines. J. Syst. Softw. 80(8), 1349–1361 (2007)Google Scholar
  9. 9.
    M. Dagpinar, J.H. Jahnke, Predicting maintainability with object-oriented metrics: an empirical comparison, in Proceedings of the 10th Working Conference on Reverse Engineering (WCRE ‘03), IEEE Computer Society, Washington, 2003Google Scholar
  10. 10.
    M. Thwin, T. Quah, Application of neural networks for software quality prediction using object oriented metrics. J. Syst. Softw. 76(2), 147–156 (2005)Google Scholar
  11. 11.
    C.V. Koten, A.R. Gray, An application of Bayesian network for predicting object-oriented software maintainability. Inf. Softw. Technol. 48(1), 59–67 (2006)Google Scholar
  12. 12.
    M.O. Elish, K.O. Elish, Application of TreeNet in predicting object-oriented software maintainability: a comparative study, in Proceedings of European Conference on Software Maintenance and Reengineering, 2009Google Scholar
  13. 13.
    C. Jin, J.A. Liu, Applications of support vector machine and unsupervised learning for predicting maintainability using object-oriented metrics. in Proceedings of the 2nd International Conference on Multi Media and Information Technology, 2010Google Scholar
  14. 14.
    A. Kaur, K. Kaur, R. Malhotra, Soft computing approaches for prediction of software maintenance effort. Int. J. Comput. Appl. 1(16), 975–988Google Scholar
  15. 15.
    R. Malhotra, A. Chug, Software maintainability prediction using machine learning algorithms. Softw. Eng. Int. J. 2(2), 19–36 (2012)Google Scholar
  16. 16.
    W. Li, Another metric suite for object-oriented programming. J. Syst. Softw. 44(2), 155–162 (1998). doi: 10.1016/O164-1212(98)10052-3 CrossRefGoogle Scholar
  17. 17.
    P. Oman, J. Hagemeister, Metrics for assessing a software system’s maintainability, conference on software maintenance (IEEE Computer Society Press, Los Alamitos, 1992), pp. 337–344Google Scholar
  18. 18.
    P. Oman, J. Hagemeister, Construction and testing of polynomials predicting software maintainability. J. Syst. Softw. 24, 251–266 (1994)CrossRefGoogle Scholar
  19. 19.
    T. McCabe, A complexity measure. IEEE Trans. Softw. Eng. SE-2(4), 308–320 (1976)Google Scholar
  20. 20.
    M. Jorgensen, Experience with the accuracy of software maintenance task effort prediction models, IEEE Transc. Softw. Eng. 21(8), 674–681 (1995)Google Scholar
  21. 21.
    S. Muthanna, K. Kontogiannis, B. Ponnambalam, A. Stacey, Maintainability model for industrial software system using design level metrics, in Proceedings of 7th Working Conference on Reverse Engineering, 2000, pp. 248–256Google Scholar
  22. 22.
    F. Fioravanti, P. Nesi, Estimation and prediction metrics for adaptive maintenance effort of object-oriented system. IEEE Trans. Softw. Eng. 27(12), 1062–84 (2001)Google Scholar
  23. 23.
    S.C. Misra, Modeling design/coding factors that drive maintainability of software systems. Softw. Qual. J. 13(3), 297–320 (2005)CrossRefGoogle Scholar
  24. 24.
    A.D. Banker, A.B. Sultan, H. Zulzalil, J. Din, Applying evolution programming search based software engineering (SBSE), in Proceedings of Selecting the Best Open Source Maintainability Metrics, International Symposium, ISCAIE, 2012 Google Scholar
  25. 25.
    P. Sun, A. Wang, Application of ant colony optimization in preventive software maintenance policy, in Proceedings of IEEE international Conference on Information Science and Technology, China, Mar 2012Google Scholar
  26. 26.
    R. Vivanco, N. Pizzi, Finding effective software metrics to classify maintainability using a parallel genetic algorithm. Genetic Evol. Comput. (Lecture Notes in Computer Science) 30(13), 1388–1399 (2004)Google Scholar
  27. 27.
    R. Malhotra, A. Chug, An empirical study to redefine the relationship between software design metrics and maintainability in high data intensive applications, in Proceedings of the World Congress on Engineering and Computer Science 2013, WCECS 2013. Lecture Notes in Engineering and Computer Science, San Francisco, 23–25 Oct, 2013, pp. 61–66Google Scholar
  28. 28.
    C and C++ Code Counter to Compute OO Metrics and the McCabe Cyclomatic Complexity Metrics from Source Code. http://cccc.sourceforge.net/
  29. 29.
    R. Malhotra, A. Chug, An empirical validation of group method of data handling on software maintainability prediction using object oriented systems, in Proceedings of International Conference on Quality Reliability InfoCom Technology and Industrial Technology, ICQRITM 2012, New Delhi, pp. 49–57Google Scholar
  30. 30.
    M.C.J. Hu, Application of the adaline system to weather forecasting. Master thesis, technical report 6775-i, Stanford Electronics Laboratories, 1964Google Scholar
  31. 31.
    D.E. Rumelhart, G.E. Hinton, R.J. Williams, Learning Internal Presentation by Back-Propagating Errors, the PDP Research Group, Parallel Distributing Processing: Exploration in the Microstructure of Cognition (MIT Press, MA, 1994)Google Scholar
  32. 32.
    T. Kohonen, Self-Organization and Associative Memory (Springer, Berlin, 1989)CrossRefGoogle Scholar
  33. 33.
    A.E. Bryson, Y.C. Ho, Applied Optimal Control: Optimization, Estimation, and Control (Blaisdell Publishing Company, New York, 1969), p. 481Google Scholar
  34. 34.
    S. Russell, P. Norvig, Artificial Intelligence: A Modern Approach, 2nd edn. (Prentice Hall, Upper Saddle River, 2003)Google Scholar
  35. 35.
    D.F. Specht, A general regression neural network. IEEE Trans. Neural Netw. 2(6), 568–576 (1991)CrossRefGoogle Scholar
  36. 36.
    B.A. Kitchenham, L.M. Pickard, S.G. MacDonell, M.J. Shepperd, What accuracy statistics really measure. IEE Proc. Softw. 148(3), 81–85 (2001)Google Scholar

Copyright information

© Springer Science+Business Media Dordrecht 2014

Authors and Affiliations

  1. 1.Department of Software EngineeringDelhi Technological UniversityDelhiIndia
  2. 2.University School of Information and Communication Technology, Guru Gobind Singh Indraprastha UniversityNew DelhiIndia

Personalised recommendations