Методи прогнозування результатів мутаційного тестування

DOI: 10.31673/2412-9070.2024.050854

  • Самойленко А. П. (A. Р. Samoylenko) Державний університет інформаційно-комунікаційних технологій, Київ

Анотація

Мутаційне тестування є широко визнаною технікою для оцінки ефективності наборів тестів у виявленні помилок у програмному забезпеченні. Незважаючи на ефективність цього методу, виконання мутацій вимагає значних обчислювальних витрат, що ускладнює його широке застосування. Для вирішення проблеми ефективності дослідники пропонують різні підходи, такі як селективне, ослаблене і прогнозоване мутаційне тестування. Це зумовлено використанням мутаційного тестування як метрики для оцінки якості набору тестів, розробленого за допомогою фазового тестування. Як мутаційне тестування, так і фаззінг тестування є обчислювально інтенсивними процесами, створюючи значну перешкоду, яка потребує інноваційних рішень. У зв'язку з цим, оптимізація обчислювальних ресурсів стає ключовою областю уваги, метою якої є збалансування ефективності без компромісу щодо точності та глибини використаних методик тестування. Ця складна взаємодія між збалансуванням витрат, обчислювальною потужністю і ефективністю тестування підкреслює потребу у стратегічних методах оптимізації, призначених для динамічних і вимогливих до ресурсів сценаріїв оцінки. Пошук підходів, які дозволять швидко та точно оцінити ефективність мутаційного тестування, залишається відкритою проблемою, оскільки методи зменшення мутацій не переважають випадковий вибір мутантів.
Одним із шляхів вирішення такої проблеми є використання методів прогнозування, що дозволяють передбачити результати, не виконуючи мутації. Дані методи прогнозування мутаційного тестування представляють собою новий напрямок досліджень в області методів оптимізації мутаційного тестування. Розглянуті методи можна класифікувати за типом машинного навчання (навчання з учителем та без вчителя), за типами ознак (динамічні та статичні), за рівнем прогнозування (на рівні мутантів та на рівні тестового набору), за типом мутацій, що використовуються (мутації першого порядку та мутації вищого порядку).

Ключові слова: мутаційне тестування, машинне навчання, глибоке навчання, модель, оптимізація, фреймворк, аналіз даних.

Список використаної літератури

1. Laybourn I. Μ2: using mutation analysis to guide mutation-based fuzzing / I. Laybourn. — New York, NY, USA : Association for Computing Machinery, 2022.
2. Vikram V. Guiding greybox fuzzing with mutation testing / V. Vikram, I. Laybourn, A. Li, [et al.]. — Seattle WA USA : ACM, 2023.
3. Qian R. Investigating coverage guided fuzzing with mutation testing / R. Qian, Q. Zhang, C. Fang, L. Guo. — arXiv, 2022.
4. Görz P. Systematic assessment of fuzzers using mutation analysis / P. Görz, B. Mathis, K. Hassler, [et al.] // .
5. Just R. Are mutants a valid substitute for real faults in software testing? / R. Just, D. Jalali, L. Inozemtseva, [et al.]. — New York, NY, USA : Association for Computing Machinery, 2014.
6. Gopinath R. Mutation analysis: answering the fuzzing challenge / R. Gopinath, P. Görz, A. Groce. — arXiv, 2022.
7. Zhang P. CBUA: a probabilistic, predictive, and practical approach for evaluating test suite effectiveness / P. Zhang, Y. Li, W. Ma, [et al.] // IEEE Transactions on Software Engineering. — 2020. — P. 1–1.
8. Zhang J. Predictive mutation testing / J. Zhang, L. Zhang, M. Harman, [et al.] // IEEE Transactions on Software Engineering. — 2019. — Vol. 45, No. 9. — P. 898–918.
9. Aghamohammadi A. The threat to the validity of predictive mutation testing: the impact of uncovered mutants / A. Aghamohammadi, S.-H. Mirian-Hosseinabadi. — arXiv, 2020.
10. Duque-Torres A. Predicting survived and killed mutants / A. Duque-Torres, N. Doliashvili, D. Pfahl, R. Ramler. — Porto, Portugal : IEEE, 2020.
11. Grano G. Lightweight assessment of test-case effectiveness using source-code-quality indicators / G. Grano, F. Palomba, H. C. Gall // IEEE Transactions on Software Engineering. — 2021. — Vol. 47, No. 4. — P. 758–774.
12. Gil J. Better prediction of mutation score / J. Gil. — 2021.
13. Jalbert K. Predicting mutation score using source code and test suite metrics / K. Jalbert, J. S. Bradbury. — Zurich, Switzerland : IEEE, 2012.
14. Tan L. A model for predicting statement mutation scores / L. Tan, Y. Gong, Y. Wang // Mathematics. — 2019. — Vol. 7, No. 9. — P. 778.
15. Jia Y. Higher order mutation testing / Y. Jia, M. Harman // Information and Software Technology. — 2009. — Vol. 51, No. 10. — P. 1379–1393.
16. Papadakis M. An empirical evaluation of the first and second order mutation testing strategies / M. Papadakis, N. Malevris. — 2010.
17. Do V.-N. Predicting higher order mutation score based on machine learning / V.-N. Do, Q.-V. Nguyen, T.-B. Nguyen // Journal of Information and Telecommunication. — 2023. — P. 1–14.
18. Gopinath R. If you can’t kill a supermutant, you have a problem / R. Gopinath, B. Mathis, A. Zeller. — Vasteras : IEEE, 2018.
19. Mao D. An extensive study on cross-project predictive mutation testing / D. Mao, L. Chen, L. Zhang. — Xi’an, China : IEEE, 2019.

Номер
Розділ
Статті