Методика використання великих мовних моделей для генерації модульних тестів на основі вихідного коду програми
Loading...
Date
2025
Authors
Мельник Тарас
Journal Title
Journal ISSN
Volume Title
Publisher
Державний університет «Київський авіаційний інститут»
Abstract
Об’єкт дослідження – процес забезпечення якості програмного забезпечення шляхом автоматизації створення модульних тестів.
Мета кваліфікаційної роботи – дослідження ефективності застосування сучасних великих мовних моделей для автоматизованої генерації модульних тестів на основі вихідного коду, написаного мовою C#, порівняння їх якісних та кількісних характеристик та визначення оптимальних моделей і підходів для практичного впровадження у процес розробки програмного забезпечення.
Методи дослідження – аналіз науково-технічної літератури та джерел, порівняльний аналіз, експериментальний метод, методи програмної інженерії, мутаційне тестування, структурний аналіз коду, метод експертних оцінок із залученням ШІ-агентів, статистичні методи.
Результати роботи можуть бути використані для обґрунтованого вибору та впровадження LLM у промислові процеси автоматизованої генерації модульних тестів для C#/.NET з урахуванням якості, вартості й конфіденційності; для формування відтворюваної бази для подальших наукових досліджень завдяки наданим артефактам проведеного експерименту; для проєктування спеціалізованих мульти-агентних інструментів, що поєднують генерацію тестів, автоматичне вимірювання метрик та ітеративне поліпшення результату.
Розробка та дослідження проводилися під управлінням ОС Windows 11. Розробка програмного засобу для автоматизації експерименту та формування набору даних здійснювалися у середовищі JetBrains Rider на мові програмування C#.
The object of the study is the software quality assurance process through the automation of unit test creation. The purpose of the qualification thesis is to investigate the effectiveness of applying modern large language models to the automated generation of unit tests based on source code written in C#, to compare their qualitative and quantitative characteristics, and to determine the optimal models and approaches for practical integration into the software development process. Research methods include the analysis of scientific and technical literature and sources, comparative analysis, experimental method, software engineering methods, mutation testing, structural code analysis, an expert assessment method involving AI agents, and statistical methods. The results of the work can be used for a well-grounded selection and adoption of LLMs in industrial processes of automated unit test generation for C#/.NET, taking into account quality, cost, and confidentiality; for building a reproducible foundation for further scientific research thanks to the provided artifacts of the conducted experiment; for designing specialized multi-agent tools that combine test generation, automated metric measurement, and iterative improvement of the outcome. Development and research were carried out under Windows 11. The development of the software tool for experiment automation and dataset formation was performed in JetBrains Rider using the C# programming language.
The object of the study is the software quality assurance process through the automation of unit test creation. The purpose of the qualification thesis is to investigate the effectiveness of applying modern large language models to the automated generation of unit tests based on source code written in C#, to compare their qualitative and quantitative characteristics, and to determine the optimal models and approaches for practical integration into the software development process. Research methods include the analysis of scientific and technical literature and sources, comparative analysis, experimental method, software engineering methods, mutation testing, structural code analysis, an expert assessment method involving AI agents, and statistical methods. The results of the work can be used for a well-grounded selection and adoption of LLMs in industrial processes of automated unit test generation for C#/.NET, taking into account quality, cost, and confidentiality; for building a reproducible foundation for further scientific research thanks to the provided artifacts of the conducted experiment; for designing specialized multi-agent tools that combine test generation, automated metric measurement, and iterative improvement of the outcome. Development and research were carried out under Windows 11. The development of the software tool for experiment automation and dataset formation was performed in JetBrains Rider using the C# programming language.
Description
Робота публікується згідно наказу ректора Університету від 27.05.2021 р. №311/од «Про розміщення кваліфікаційних робіт здобувачів вищої освіти в репозиторії університету». Науковий керівник: Татаринов Євген Олександрович
Keywords
велика мовна модель, модульне тестування, c#, .net, якість програмного забезпечення, дослідження, prompt-інженерія, бенчмарк, генерація модульних тестів, мутаційне тестування., large language model, unit testing, software quality, research, prompt engineering, benchmark, unit test generation, mutation testing., кваліфікаційна робота
Citation
Мельник Т. Методика використання великих мовних моделей для генерації модульних тестів на основі вихідного коду програми . - Кваліфікаційна робота на здобуття освітнього ступеня магістр. – Київ, КАІ, 2025. - 121 с.