Тема: Разработка гибридного метода поиска клонов программного кода на основе формальных методов и методов глубокого обучения
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Постановка задачи 4
1. Обзор литературы 5
1.1. Типы клонов 5
1.2. Оценивание 6
1.3. Классификация методов 6
1.4. Доступные формальные методы 7
1.5. Доступные методы, основанные на глубоком обучении ... 9
2. Формат гибрида 10
3. Выбор формального метода для гибрида 11
3.1. Собственный инструмент: CCAlignerpy 11
3.2. Какой из формальных методов наиболее подходит для ги¬брида? 11
3.2.1 Полнота 11
3.2.2 Точность 12
3.2.3 Выбор трешхолдов 12
4. Выбор метода, основанного на глубоком обучении 13
4.1. Стратегия вычисления 13
5. Измерения метрик гибридного метода 14
5.1. Результаты 14
5.2. Угрозы валидности 14
5.3. Связанные работы 14
Заключение 15
Список литературы 16
📖 Введение
и переиспользования программного кода. Такие скопированные фрагменты
называют клонами.
Обнаружение клонов кода важно для улучшения качества программного обеспечения, снижения затрат на поддержку и развитие, оптимизации
ресурсов разработки и облегчения рефакторинга кода.
Существующие прикладные инструменты обнаружения клонов кода в
основном используют формальные методы, которые эффективны для выявления клонов c небольшим числом синтаксических изменений, но часто
не справляются с обнаружением семантических клонов из-за присущих им
ограничений в понимании более глубоких, функциональных аспектов кода.
С другой стороны, подходы глубокого обучения демонстрируют высокие показатели в выявлении семантических связей между фрагментами. Подходы
глубокого обучения при этом значительно ограничены в своих способностях
в условиях реальных баз кода.
В данной работе сначала формулируется, а затем и демонстрируется
состоятельность новой типовой архитектуры, объединяющей формальный
метод CCStokener с методом TBCCD, основанным на глубоком обучении,
получая прирост в графе Moderately Type-3 c 53% до 66% на бенчмарке
BigCloneEval не теряя при этом высокой точности.
✅ Заключение
и методы глубокого обучения. Обнаружение клонов кода имеет важное значение в разработке программного обеспечения для улучшения его качества,
снижения затрат на обслуживание и упрощения рефакторинга. Традиционные
инструменты для обнаружения клонов обычно используют формальные методы, которые эффективны для выявления синтаксических клонов (точных
или почти точных копий кода), но недостаточно хороши для обнаружения
семантических клонов (кода с одинаковой функциональностью, но разным
синтаксисом). С другой стороны, методы глубокого обучения показывают хорошие результаты в выявлении семантических клонов, но часто оказываются
непрактичными для применения в реальных условиях из-за высокой вычислительной сложности.
Предложенный гибридный метод использует сильные стороны обоих
подходов, комбинируя формальный метод CCStokener с методом TBCCD, основанным на глубоком обучении. CCStokener используется для обнаружения
клонов с высокой синтаксической схожестью, тогда как TBCCD применяется
для анализа пар фрагментов кода, прошедших начальный порог схожести, но
требующих дальнейшего семантического анализа.
Эксперименты, проведенные с использованием бенчмарка BigCloneEval—
системы для оценки инструментов обнаружения клонов—показали эффективность гибридного метода. Результаты продемонстрировали значительное
улучшение в обнаружении клонов типа Moderately Type-3, увеличив полноту
с 53% до 66%, не снижая при этом точность. Это показывает, что гибридный
подход может эффективно сбалансировать компромиссы между точностью
и полнотой, присущие обнаружению клонов, предоставляя более надежное
решение для реальных сценариев разработки программного обеспечения.
Исследование заключает, что гибридный метод является жизнеспособным и эффективным подходом для улучшения обнаружения клонов кода,
сочетая точность формальных методов с семантическим пониманием, предоставляемым методами глубокого обучения.



