Details

Title Экспериментальное исследование расширенных мутационных операторов для программ на Java: выпускная квалификационная работа магистра: направление 09.04.03 «Прикладная информатика» ; образовательная программа 09.04.03_04 «Интеллектуальные технологии управления знаниями и данными» = Experimental study of extended mutation operators for java programs
Creators Гамов Игорь Александрович
Scientific adviser Щукин Александр Валентинович
Other creators Пархоменко В. А.
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint Санкт-Петербург, 2026
Collection Выпускные квалификационные работы ; Общая коллекция
Subjects мутационное тестирование ; Java ; Go ; мутационные операторы ; тестовое покрытие ; подавление мутантов ; mutation testing ; mutation operators ; test coverage ; mutant suppression
Document type Master graduation qualification work
Language Russian
Level of education Master
Speciality code (FGOS) 09.04.03
Speciality group (FGOS) 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/3/2026/vr/vr26-4885
Rights Доступ по паролю из сети Интернет (чтение, печать, копирование)
Additionally New arrival
Record key ru\spstu\vkr\45058
Record create date 9/4/2026

Allowed Actions

Action 'Read' will be available if administrator prepare required files

Action 'Download' will be available if you login or access site from another network

Group Anonymous
Network Internet

Объектом исследования является процесс мутационного тестирования программ, написанных на языке Java. Предметом исследования являются методы задания, выполнения и анализа расширенных мутационных операторов на уровне исходного кода. Целью работы является разработка и экспериментальная апробация инструмента мутационного тестирования Java-проектов, ориентированного на гибкое задание пользовательских мутаций. В ходе работы проведен обзор существующих инструментов мутационного тестирования, спроектирована архитектура разрабатываемого решения, реализован CLI-инструмент на языке Go, поддерживающий декларативное описание мутационных правил. В инструмент включены модули сканирования проекта, загрузки правил, планирования мутаций, анализа тестового покрытия, подавления мутаций, исполнения мутантов и формирования отчета. Экспериментальная апробация включала проверку корректности работы инструмента, оценку гибкости задания пользовательских мутаций, исследование расширенных мутационных операторов, сравнение методов подавления мутаций и оценку производительности относительно PITest. В качестве экспериментальных объектов использовались Java-проекты с открытым исходным кодом. В результате работы показано, что разработанный инструмент уступает PITest по скорости обработки мутантов, однако обеспечивает более простой и гибкий способ задания пользовательских мутационных операторов. Также показано, что методы подавления мутаций позволяют сократить число исполняемых мутантов и уменьшить время анализа при контролируемом отклонении mutation score. Практическая значимость работы заключается в создании расширяемого инструмента мутационного тестирования, который может использоваться для экспериментов с пользовательскими и предметно-ориентированными мутационными операторами. Результаты исследования могут быть использованы при разработке и оценке новых подходов к мутационному тестированию Java-программ.

The object of the research is the mutation testing process for Java programs. The subject of the research is the methods for defining, executing, and analyzing extended mutation operators at the source-code level. The aim of the work is to develop and experimentally evaluate a mutation testing tool for Java projects focused on flexible definition of custom mutations. The work includes a review of existing mutation testing tools, the design of the proposed tool architecture, and the implementation of a CLI tool in Go that supports declarative mutation rules. The implemented tool includes modules for project scanning, rule loading, mutation planning, test coverage analysis, mutant suppression, mutant execution, and report generation. The experimental evaluation included correctness testing, assessment of the flexibility of defining custom mutations, investigation of extended mutation operators, comparison of mutant suppression methods, and performance comparison with PITest. Open-source Java projects were used as experimental subjects. The results show that the developed tool is slower than PITest in terms of mutant processing speed. However, it provides a simpler and more flexible way to define custom mutation operators. The experiments also show that mutant suppression methods can reduce the number of executed mutants and decrease analysis time while keeping mutation score deviation under control. The practical significance of the work lies in the development of an extensible mutation testing tool that can be used for experiments with custom and domain-specific mutation operators. The obtained results can be used in the development and evaluation of new approaches to mutation testing of Java programs.

Network User group Action
ILC SPbPU Local Network All
Download
Internet Authorized users SPbPU
Download
Internet Anonymous
...