A Prediction Model for Software Change using Object-oriented Metrics

객체지향 메트릭을 이용한 변경 발생에 대한 예측 모형

  • Published : 2007.07.15

Abstract

Software changes for various kinds of reasons and they increase maintenance cost. Software metrics, as quantitative values about attributes of software, have been adopted for predicting maintenance cost and fault-proneness. This paper proposes relationship between some typical object-oriented metrics and software changes in industrial settings. We used seven metrics which are concerned with size, complexity coupling, inheritance and polymorphism, and collected data about the number of changes during the development of an Information system on .NET platform. Based on them, this paper proposes a model for predicting the number of changes from the object-oriented metrics using multiple regression analysis technique.

다양한 이유로 소프트웨어는 변경이 될 수 있으며 이는 유지보수 비용의 상승을 초래한다. 소프트웨어 메트릭은 클래스의 특성에 대한 정량적인 값으로서 유지보수 비용, 결함의 가능성 여부 등을 예측하는데 사용되고 있다. 본 논문에서는 대표적인 객체지향 메트릭과 산업체의 실제 소프트웨어 개발 과정에서 발생하는 변경 발생 횟수와의 관계를 제시한다. 규모, 복잡도, 결합도, 상속과 다형성 측면에서 7개의 메트릭이 사용되었으며, .NET 플랫폼 기반의 정보 시스템의 개발 과정에서 변경 발생 횟수에 대한 자료를 수집하였다. 본 논문에서는 다중회귀분석 기법을 이용하여 사용된 객체지향 메트릭으로부터 변경 발생횟수를 예측하는 모형을 제시한다.

Keywords

References

  1. N. F. Schneidewind, 'The State of Software Maintenance,' IEEE Trans. Software Eng., Vol. 13, No 3, pp. 303-310, Mar., 1987
  2. 이병정, 객체지향 설계 행위를 보존하는 메트릭 기반 재구조화 기법, 정보과학회논문지: 소프트웨어 및 응용 제 30권 제10호, 2003
  3. T. J. McCabe, A Complexity Measure, IEEE Trans, Software Eng. 2, 308-320, 1976
  4. S. Henry and D. Kafura, Software Structure Metrics Based on Information Flow, IEEE Trans, Software Eng. 7, 510-518, 1981
  5. M. H. Halstead, Elements of Software Projects: Management, Measurement and Estimation, Yourdon Press, New Jersey, 1982
  6. W. G. Bail and M. V. Zelkowitz, Program Complexity Using Hierarchical Abstraction Computers, Comp. Lang. 13, 109-123, 1988 https://doi.org/10.1016/0096-0551(88)90019-7
  7. P. Robillard and G. Boloix, The Interconnectivity Metrics: A New Metric Showing How a Program is Organized, J. Syst. Software 10, 29-39, 1989 https://doi.org/10.1016/0164-1212(89)90060-5
  8. R. Adamov and L. Richter, A Proposal for Measuring the Structural Complexity of Programs, J. Syst, Software 55-77, 1990
  9. V. Basili, L. C. Briand, and W. Melo, 'A Validation of Object Oriented Design Metrics as Quality Indicators,' IEEE Trans. Software Eng., Vol. 22, pp. 751-761, 1996 https://doi.org/10.1109/32.544352
  10. A. Binkley and S. Schach, 'Validation of the Coupling Dependency Metric as a Predictor of Run-Time Failures and Maintenance Measures,' In Proc. 20th Int'l Conf. Software Eng., pp. 452-455, 1998
  11. S. R. Chidamber, D. P. Darcy, and C. F. Kemerer, 'Managerial Use of Metrics for Object Oriented Software: An Exploratory Analysis,' IEEE Trans. Software Eng., Vol. 24, pp. 629-639, 1998 https://doi.org/10.1109/32.707698
  12. L. C. Briand, J. Wuest, S.Ikonomovski, and H. Louis, 'Investigation of Quality Factors in Object-Oriented Designs: An Industrial Case Study,' In Proc. Int'l Conf. Software Eng, pp. 345-354, 1999
  13. M.H. Tang, M.H. Kao, and M.H. Chen, 'An Empirical Study on Object Oriented Metrics,' In Proc. Sixth Int'l Software Metrics Symp., pp. 242-249, 1999
  14. L.C. Briand, J. Wuest, J.W. Daly, and D.V. Porter, 'Exploring the Relationship between Design Measures and Software Quality in Object Oriented System,' J. systems and Software, Vol. 51, No. 3, pp. 245-273, 2000 https://doi.org/10.1016/S0164-1212(99)00102-8
  15. M. Cartwright and M. Shepperd, 'An Empirical Investigation of an Object-Oriented Software System,' IEEE Trans, Software Eng., Vol. 26, No. 7, pp. 786-796, 2000 https://doi.org/10.1109/32.879814
  16. K. El Eman, W. Melo, and J.C. Machado, 'The Prediction of Faulty Classes Using Object-Oriented Design Metrics,' J. Systems and Software, Vol. 56, pp. 63-75, 2001 https://doi.org/10.1016/S0164-1212(00)00086-8
  17. R. Subramanyam and M. S. Krishnan, 'Empirical Analysis of CK Metrics for Software Defects,' IEEE Trans. Software Eng., Vol. 29, pp. 297-310, April, 2003 https://doi.org/10.1109/TSE.2003.1191795
  18. Nikolaos Tsantalis, Alexander Chatzigeorgiou, 'Predicting the Probability of Change in Object- Oriented Systems,' IEEE Trans. Software Eng., Vol. 31, pp. 601-614, July, 2005 https://doi.org/10.1109/TSE.2005.83
  19. H. D. Rombach, A Controlled Experiment on the Impact of Software Structure on Maintainability, IEEE Trans. Software Eng. SE-13, 89-94, 1987
  20. S. Wake and S. Henry, A model based on software quality factors which predicts maintainability, in Proceedings: Conference on Software Maintenance, pp. 382-387, 1988
  21. H. D. Rombach, Design Measurement: Some Lessons Learned, IEEE Software 17-25, 1990
  22. W. Li and S. Henry, 'Object Oriented Metrics that Predict Maintainability,' J of Systems and Software, Vol. 23, pp. 111-122, 1993 https://doi.org/10.1016/0164-1212(93)90077-B
  23. M. Polo, M. Piattini and F. Ruiz, Using code metrics to predict maintenance of legacy programs : a case study, Proceedings of the IEEE International Conference on Software Maintenance, 2001
  24. M. Dagpinar and J. H. Jahnke, Predicting Maintainability with Object-Oriented Metrics - An Empirical Comparison, Proceedings of the 10th Working Conference on Reverse Engineering, 2003
  25. J.H. Hayes and L. Zhao, Maintainability Prediction : A Regression Analysis of Measures of Evolving Systems, Software Maintenance, ICSM'05, Proceedings of the 21st IEEE International Conference, 601-604, Sept. 2005
  26. S. R. Chidamber and C. F. Kemerer, 'A Metric Suite for Object Oriented Software System,' IEEE Trans. Software Eng., Vol. 20, No. 6, pp. 476-493, 1994 https://doi.org/10.1109/32.295895
  27. Ghosheh, E., Qaddour, J., Kuofie, M., Black, S, A Comparative Analysis of Maintainability Approaches for Web Application, Computer Systems and Applications, IEEE International Conference, 2006
  28. 강현철, 한상태, 이은수, SPSS 데이타 분석과 활용, 자유아카데미, 2002
  29. 姜金植, EXCEL활용 현대 통계학, 博英社, 2005
  30. 신봉섭, S-Link와 함께 배우는 통계자료의 분석, 도서출판그린, 2004
  31. Welker, K.D. and Oman, P.W. Software Maintainability Metrics Models in Practice, Journal of Defense Software Engineering, Volume 8, Number 11, November/December 19-23, 1995
  32. 정우성, 채흥석, '객체지향 메트릭과 유지보수성과의 관계에 대한 실험적 연구', 정보처리학회논문지 D, 제13권-D권 제 2호, 2006 https://doi.org/10.3745/KIPSTD.2006.13D.2.241