A fuzzy-based approach to automated defect identification in distributed software systems and software product lines

Автор(и)

DOI:

https://doi.org/10.20998/2079-0023.2018.21.07

Ключові слова:

звіти про збої, автоматизований збір та агрегація звітів, локалізація дефектів, нечітка логіка, розподілені програмні системи, лінійки програмних продуктів, проект Mozilla Crash Stats, Socorro, система управління звітами, відстеження помилок

Анотація

Розглянуто підхід до підвищення ефективності процесу відстеження помилок в розподілених програмних системах та лінійках програмних продуктів шляхом автоматизованої ідентифікації дубльованих груп звітів та груп звітів, зібраних з корельованих помилок, у поєднанні з локалізацією помилок серед компонентів лінійок програмних продуктів. Зроблено короткий огляд проблеми автоматизованого збору та агрегації звітів, розглянуто кілька існуючих програмних засобів для аналізу звітів, а також визначено основні функціональні можливості типової системи управління звітами. Крім того, запропоновано концепцію кореляційної групи звітів та наведено автоматизований метод агрегації звітів, який базується на правилах порівняння підписів звітів, верхньої форми звітів, та трасувальних стеків звітів про збої. Для оцінки цих правил будуються дві окремі нечіткі моделі – перша для розрахунку результату правила порівняння трасувальних стеків звітів, а друга - для інтерпретації та поєднання результатів усіх трьох правил і створення інтегрованого ступеня подібності звіту про збій з існуючою кореляційною групою звітів або іншим звітом. За допомогою імпорту груп звітів з загальнодоступного репозиторію Mozilla, тестується розроблений прототип системи управління та агрегації звітів. Під час експерименту досягається точність в 90% і повнота в 81%. Нарешті, пропонується підхід до локалізації найбільших ідентифікованих груп звітів та представлених ними помилок у лінійці програмних продуктів на основі інформаційної бази, що складається з функціональної моделі, списку програмних компонентів та взаємозв’язків між функціями та компонентами, робляться висновки та визначаються цілі для подальшої роботи.

Посилання

Sommerville I. Software engineering / Ian Sommerville. – 9th ed. Addison Wesley, 2011. 773 p.

Adrian S., Nicolas B., Rahul P. Do stack Traces Help Developers Fix Bugs? MSR 2010: 7th IEEE Working Conference on Mining Software Repositories, 2010, pp. 118–121.

Kinshumann K., Glerum K., Greenberg S., Aul G. et al. Debugging in the (very) large: ten years of implementation and experience. ACM Communications. New York City, NY, USA, 2011. № 7, vol. 54, pp. 111–116.

Iftekhar A., Nitin M., Carlos J. The Impact of Automatic Crash Reports on Bug Triaging and Development in Mozilla. The 14th International Symposium on Open Collaboration. Berlin, 2014.

Carnegie Mellon University Software Engineering Institute. Software Product Lines. Available at: https://www.sei.cmu.edu/productlines (accessed 11.05.2018).

Asmaa A., Ounsa R., Nissrine S., Camille S. Selecting SPL Modeling Languages: a Practical Guide. The Third World Conference on Complex Systems (WCCS), 2016. Marrakech, Morocco, November 2015.

Tejinder D., Foutse K., Ying Z. Classifying Field Crash Reports for Fixing Bugs: A Case Study of Mozilla Firefox. The 27th IEEE International Conference on Software Maintenance (ICSM). Williamsburg, VA, USA, September 2011.

Graylog. Available at: https://www.graylog.org/overview (accessed 11.05.2018).

Aggregates Plugin for Graylog. Available at: https://marketplace.graylog.org/addons/0d01a899-138a-4f77-a9e7- 04be4cc5e190 (accessed 11.05.2018).

Sentry. Available at: https://sentry.io/for/javascript (accessed 11.05.2018).

Google Play Console. Available at: https://play.google.com/ apps/publish/ (accessed 11.05.2018).

Firebase crash reporting. Available at: https://firebase.google.com/ docs/crash/ (accessed 11.05.2018).

Xcode. Available at: https://developer.apple.com/xcode/ (accessed 11.05.2018).

Firebase Crashlytics. Available at: https://firebase.google.com/ docs/crashlytics/ (accessed 11.05.2018).

Crashlytics reports. Available at: http://try.crashlytics.com/reports/ (accessed 11.05.2018).

Wang S., Khomh F., Zou Y. Improving bug localization using correlations in crash reports. The 10th IEEE Working Conference on Mining Software Repositories. San Francisco, CA, USA, May 2013, pp. 247–256.

Tkachuk M.V., Abbasov T.F. An operating model for dynamic requirements management in agile software development. The ХXV International Scientific and Practical Conference on Information Technologies MicroCAD-2018. Kharkiv, May 2018, p.12.

##submission.downloads##

Як цитувати

Zinkovskyi, O. I., Gamzayev, R. O., Bollin, A., & Tkachuk, M. V. (2018). A fuzzy-based approach to automated defect identification in distributed software systems and software product lines. Вісник Національного технічного університету «ХПІ». Серія: Системний аналiз, управління та iнформацiйнi технологiї, (21), 36–42. https://doi.org/10.20998/2079-0023.2018.21.07

Номер

Розділ

СИСТЕМНИЙ АНАЛІЗ І ТЕОРІЯ ПРИЙНЯТТЯ РІШЕНЬ