Есть ли связь между внутренними метриками программного обеспечения и предрасположенностью к ошибкам и изменчивости?

Обложка

Цитировать

Полный текст

Открытый доступ Открытый доступ
Доступ закрыт Доступ предоставлен
Доступ закрыт Доступ платный или только для подписчиков

Аннотация

Предрасположенность к ошибкам – это мера, указывающая на вероятность возникновения ошибок программирования в программной системе. С другой стороны, предрасположенность к изменениям относится к потенциальной возможности внесения модификаций в программное обеспечение. Обе эти меры являются важными показателями поддерживаемости программного обеспечения, так как они влияют на внутренние метрики программного обеспечения, такие как размер, наследование и связь, особенно когда в систему вносится множество изменений. В литературе прогнозирование предрасположенности к изменениям и ошибкам с использованием внутренних метрик программного обеспечения проводилось почти десятилетие назад. Однако, учитывая постоянную эволюцию программных систем, важно пересмотреть и обновить наше понимание этих взаимосвязей. Поэтому мы провели эмпирическое исследование, чтобы пересмотреть взаимосвязь между внутренними метриками программного обеспечения, предрасположенностью к изменениям и предрасположенностью к ошибкам с целью предоставить актуальные и релевантные выводы. В нашем исследовании мы определили 25 внутренних метрик программного обеспечения, а также меры предрасположенности к изменениям и ошибкам в известных системах с открытым исходным кодом из экосистем Apache и Eclipse. Затем мы проанализировали взаимосвязи между этими метриками с использованием статистических методов корреляции. Наши результаты показали, что большинство метрик имеют слабую или отсутствующую корреляцию с предрасположенностью к ошибкам. Однако метрики, связанные с наследованием, связями и комментариями, показали умеренную или высокую корреляцию с предрасположенностью к изменениям. Эти выводы помогут разработчикам минимизировать более коррелированные метрики программного обеспечения для повышения поддерживаемости с точки зрения предрасположенности к изменениям и ошибкам. Кроме того, эти данные могут помочь исследователям в разработке новых подходов к прогнозированию изменений и ошибок с учетом метрик, которые показали более сильную корреляцию.

Об авторах

М. М. Рахман

Институт информационных технологий (IIT), Университет Дакки (DU)

Email: bit0413@iit.du.ac.bd
Дакка-1000, Бангладеш

Т. Ахмед

Институт информационных технологий (IIT), Университет Дакки (DU)

Email: toukir@iit.du.ac.bd
Дакка-1000, Бангладеш

М. М. А. Джордер

Институт информационных технологий (IIT), Университет Дакки (DU)

Email: joarder@iit.du.ac.bd
Дакка-1000, Бангладеш

К. Сакиб

Институт информационных технологий (IIT), Университет Дакки (DU)

Email: sakib@iit.du.ac.bd
Дакка-1000, Бангладеш

Список литературы

  1. ISO IEC 9126-1: Software Engineering-Product Quality – Part 1: Quality Model, Geneva: International Organization for Standardization, 2001.
  2. Alshayeb M. Empirical investigation of refactoring effect on software quality. Inf. Software Technol. 2009. V. 51. № 9. P. 1319–1326. https://doi.org / 10.1016 / j.infsof.2009.04.002
  3. Zhang F., Mockus A., Zou Yi., Khomh F., Hassan A.E. How does context affect the distribution of software maintainability metrics. International Conference on Software Maintenance (ICSM). 2013. P. 350–359. https://doi.org / 10.1109 / ICSM.2013.4
  4. Palomba F., Bavota G., Di Penta M., Fasano F., Oliveto R., De Lucia A. On the diffuseness and the impact on maintainability of code smells: A large scale empirical investigation. Empirical Software Eng. 2018. V. 23. № 3. P. 1188–1221. https://doi.org / 10.1007 / s10664-017-9535-z
  5. Zhou Yu., Leung H., Xu B. Examining the potentially confounding effect of class size on the associations between object-oriented metrics and changeproneness. IEEE Trans. Software Eng. 2009. V. 35. № 5. P. 607–623. https://doi.org / 10.1109 / TSE.2009.32
  6. Shatnawi R., Li W. The effectiveness of software metrics in identifying error-prone classes in post-release software evolution process. J. Syst. Software. 2008. V. 81. № 11. P. 1868–1882. https://doi.org / 10.1016 / j.jss.2007.12.794
  7. Lu H., Zhou Yu., Xu B., Leung H., Chen L. The ability of object-oriented metrics to predict change-proneness: A meta-analysis. Empirical Software Eng. 2012. V. 17. № 3. P. 200–242. https://doi.org / 10.1007 / s10664-011-9170-z
  8. Radjenović D., Heričko M., Torkar R., Živkovič A. Software fault prediction metrics: A systematic literature review. Inf. Software Technol. 2013. V. 55. № 8. P. 1397–1418. https://doi.org / 10.1016 / j.infsof.2013.02.009
  9. Rahman F. Devanbu P. How, and why, process metrics are better. 35th International Conference on Software Engineering (ICSE). San Francisco, 2013. IEEE. 2013. P. 432–441. https://doi.org / 10.1109 / ICSE.2013.6606589
  10. Malhotra R., Khanna M. Investigation of relationship between object-oriented metrics and change proneness. Int. J. Mach. Learn. Cybern. 2013. V. 4. № 4. P. 273–286. https://doi.org / 10.1007 / s13042-012-0095-7
  11. Olague H.M., Etzkorn L.H., Gholston S., Quattlebaum S. Empirical validation of three software metrics suites to predict fault- proneness of object-oriented classes developed using highly iterative or agile software development processes. IEEE Trans. Software Eng. 2007. V. 33. № 6. P. 402–419. https://doi.org / 10.1109 / TSE.2007.1015
  12. Eski S., Buzluca F. An empirical study on objectoriented metrics and software evolution in order to reduce testing costs by predicting change-prone classes. 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops, Berlin, 2011. IEEE. 2011. P. 566–571. https://doi.org / 10.1109 / icstw.2011.43
  13. Khomh F., Di Penta M., Gueheneuc Y.-G. An exploratory study of the impact of code smells on software change-proneness, 2009 16th Working Conference on Reverse Engineering, Lille, France, 2009. IEEE. 2009. P. 75–84. https://doi.org / 10.1109 / wcre.2009.28
  14. Rahman Md.M., Ahammed T., Joarder Md.M.A., Sakib K. Does code smell frequency have a relationship with fault-proneness. Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering, Oulu, Finland, 2023, New York: Association for Computing Machinery. 2023. P. 261–262. https://doi.org / 10.1145 / 3593434.3593457
  15. Aggarwal K.K., Singh Yo., Kaur A., Malhotra R. Empirical analysis for investigating the effect of object-oriented metrics on fault proneness: A replicated case study. Software Process: Improvement and Practice. 2009. V. 14. № 1. P. 39–62. https://doi.org / 10.1002 / spip.389
  16. Pecorelli F., Palomba F., Khomh F., De Lucia A. Developer-driven code smell prioritization. Proceedings of the 17th International Conference on Mining Software Repositories, Seoul, 2020, New York: Association for Computing Machinery. 2020. P. 220–231. https://doi.org / 10.1145 / 3379597.3387457
  17. Gupta S.C., Kapoor V.K. Fundamentals of Mathematical Statistics. Sultan Chand & Sons, 2020.
  18. Cohen J. Statistical Power Analysis for the Behavioral Sciences. New York: Routledge, 2013, 2nd ed. https://doi.org / 10.4324 / 9780203771587

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML

© Российская академия наук, 2025