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

Обложка

Цитировать

Полный текст

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

Аннотация

Предрасположенность к ошибкам – это мера, указывающая на вероятность возникновения ошибок программирования в программной системе. С другой стороны, предрасположенность к изменениям относится к потенциальной возможности внесения модификаций в программное обеспечение. Обе эти меры являются важными показателями поддерживаемости программного обеспечения, так как они влияют на внутренние метрики программного обеспечения, такие как размер, наследование и связь, особенно когда в систему вносится множество изменений. В литературе прогнозирование предрасположенности к изменениям и ошибкам с использованием внутренних метрик программного обеспечения проводилось почти десятилетие назад. Однако, учитывая постоянную эволюцию программных систем, важно пересмотреть и обновить наше понимание этих взаимосвязей. Поэтому мы провели эмпирическое исследование, чтобы пересмотреть взаимосвязь между внутренними метриками программного обеспечения, предрасположенностью к изменениям и предрасположенностью к ошибкам с целью предоставить актуальные и релевантные выводы. В нашем исследовании мы определили 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

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».