Для студентов МГТУ им. Н.Э.Баумана по предмету АвтоматизацияАвтоматическое исправление ошибок в программном кодеАвтоматическое исправление ошибок в программном коде
2024-05-252024-05-25СтудИзба
Курсовая работа: Автоматическое исправление ошибок в программном коде
Описание
Оглавление
3
Введение
На текущий момент исследования, изучающие исправление ошибок
в программном коде, бурно развиваются. Всё это связано с тем, что процесс поиска и исправления ошибок является не только утомитель-ным и трудоемким, но и очень часто повторяющимся процессом. Чтобы исправить ошибку, разработчику необходимо: проанализировать отчёт об ошибке, понять проблему, локализовать дефект, выполнить исправ-ление и проверить новый код на регрессионных тестах – что является нетривиальной задачей.
Можно выделить основные направления в области автоматического исправления ошибок:
– исправляющие определенный класс ошибок;
– использующие символьное исполнение;
– системы генерации и валидации исправлений (generate-and-validate systems).
Многие эти системы имеют проблему масштабируемости: инстру-менты, хорошо работающие на маленьких примерах, плохо работают на реальных больших проектах (около 100 тыс. строк кода). Одним из немногих инструментов, решающих данную проблему, является Prophet[10].
Prophet – инструмент, исправляющий ошибки в программном ко-де посредством генерации, ранжирования и проверки упорядоченных исправлений на тестовом наборе данных. Prophet умеет исправлять шесть классов ошибок, которые исправляются путем изменения одного места программы. Например, классы ошибок, исправляемые добавле-нием условия перед утверждением или заменой утверждения. Данное множество не является полным, поэтому данная работа направлена на расширение набора ошибок, исправляемых Prophet.
Введение | 4 | ||
Постановка задачи | 5 | ||
1. | Обзор предметной области | 6 | |
1.1. | Основные подходы автоматического исправления ошибок | ||
впрограммномкоде...................... | 6 | ||
1.2. | Алгоритм работы инструмента Prophet . . . . . . . . . . | 7 | |
2. | Поддержка исправления новых классов ошибок | 11 | |
2.1. | Анализ тестового набора данных . . . . . . . . . . . . . . | 11 | |
2.2. | Реализация исправления новых классов | ||
ошибок ............................. | 12 | ||
3. | Расширенная модель корректного кода | 15 | |
3.1. | Новые признаки и их извлечение . . . . . . . . . . . . . . | 15 | |
3.2. | Обучениемодели ....................... | 15 | |
4. | Апробация | 18 | |
4.1. | Схемаэксперимента...................... | 18 | |
4.2. | Анализрезультатов...................... | 18 | |
4.3. | Анализ признаков новой модели корректного кода . . . . | 19 | |
Заключение | 24 | ||
Список литературы | 25 |
3
Введение
На текущий момент исследования, изучающие исправление ошибок
в программном коде, бурно развиваются. Всё это связано с тем, что процесс поиска и исправления ошибок является не только утомитель-ным и трудоемким, но и очень часто повторяющимся процессом. Чтобы исправить ошибку, разработчику необходимо: проанализировать отчёт об ошибке, понять проблему, локализовать дефект, выполнить исправ-ление и проверить новый код на регрессионных тестах – что является нетривиальной задачей.
Можно выделить основные направления в области автоматического исправления ошибок:
– исправляющие определенный класс ошибок;
– использующие символьное исполнение;
– системы генерации и валидации исправлений (generate-and-validate systems).
Многие эти системы имеют проблему масштабируемости: инстру-менты, хорошо работающие на маленьких примерах, плохо работают на реальных больших проектах (около 100 тыс. строк кода). Одним из немногих инструментов, решающих данную проблему, является Prophet[10].
Prophet – инструмент, исправляющий ошибки в программном ко-де посредством генерации, ранжирования и проверки упорядоченных исправлений на тестовом наборе данных. Prophet умеет исправлять шесть классов ошибок, которые исправляются путем изменения одного места программы. Например, классы ошибок, исправляемые добавле-нием условия перед утверждением или заменой утверждения. Данное множество не является полным, поэтому данная работа направлена на расширение набора ошибок, исправляемых Prophet.
Характеристики курсовой работы
Предмет
Учебное заведение
Семестр
Просмотров
1
Размер
731 Kb
Список файлов
Автоматическое исправление ошибок в программном коде.doc