Семантический поиск в программном коде Научный руководитель к.ф.-м.н. Д.В.Барашев Рецензент А.А.Бреслав Студент 545 группы Всеволод Иванов Дипломная работа.

Презентация:



Advertisements
Похожие презентации
Реализация генерации исходного кода бизнес-процессов информационных систем на основе диаграмм BPMN в технологии REAL-IT/.NET Руслан Мокаев, 545 гр. Научный.
Advertisements

Поддержка разработки Parallels Business Automation в среде Eclispe Научный руководитель: Сергушенков Ю. А. Рецензент: доцент кафедры системного программирования,
Сравнение подходов к индексированию XML документов c поддержкой некоторых операций модификации Выполнил: Василий Шикин, 545 группа Руководитель: Дмитрий.
Генерация средств импорта данных в рамках проектов ИС, реализованных в технологии REAL-IT Выполнил Комиссаров Антон Научный руководитель: Иванов А.Н. Рецензент:
ИЗУЧЕНИЕ СТАТИСТИКИ ВСТРЕЧАЕМОСТИ ТЕРМИНОВ И ПАР ТЕРМИНОВ В ТЕКСТАХ ДЛЯ ВЫБОРА МЕТОДОВ СЖАТИЯ ИНВЕРТИРОВАННОГО ФАЙЛА. Губин Максим Вадимович «Информационная.
Интерактивная языконезависимая система поиска шаблонов и дубликатов в программном коде Куделевский Евгений Валерьевич, 545 группа Научный руководитель:
XXXIX Неделя науки СПбГПУ XXXIX Неделя науки СПбГПУ 2010 Визуальное редактирование запросов к поисковой системе с использованием онтологии WordNet А.Н.
Создание экспериментального стенда для оценки методов поиска изображений по содержанию Выполнила: Теплых М. А. Научный руководитель: Васильева Н. С. Рецензент:
Система кластеризации мульти-язычных данных большого объема Студентка: Нишневич Анастасия, 545 гр. Научный руководитель: Изъюров А.Л. Рецензент: Шалымов.
ОГЛАВЛЕНИЕ Разделы Страницы День Введение в MSC.Mvision Builder and Evaluator MSC.Mvision – база данных, содержащая свойства материалов………………………………………………………………………………………………
«Поиск шаблонов в программном коде» Автор: студент 445 группы Евгений Куделевский Руководитель: к.ф.-м.н., ст. разработчик компании JetBrains Максим Мосиенко.
Задачи проектирования ИПС: Анализ предметной области Определение структуры ИПС Определение видов поиска документов в ИПС Разработка структуры БД для ИПС.
3.1. Назначение онтологий. Информационный поиск..
Дипломный проект на тему НОВОСТНОЙ ОНЛАЙН РЕСУРС Выполнил : ст. Группы Семашко Сергей Александрович.
Информационный поиск. План Векторная модель Ранжирование документов на основе весов, метаданных Определение весов на основе машинного обучения.
Воспроизведение лучших результатов ad hoc поиска семинара РОМИП Romip-base project Красильников Павел, Механико-математический факультет МГУ им. Ломоносова.
Автор : Ладыгина А.А. Научный руководитель : к.ф.м.н., доцент кафедры Систем Информатики НГУ, с.н.с. Васючкова Татьяна Сергеевна Система поддержки дистанционного.
Портальные решения для образования. Проблемы поиска информации Проблемы с продуктивностью пользователей Много разных интерфейсов, систем, входов для поиска.
Использование табличного процессора MS Excel на уроках в основной школе Научный руководитель: Гончаров В.Б Выполнила: Патрушева А.А.
1 © Luxoft Training 2013 Модуль 8 Введение Задачи аннотаций Стандартные аннотации Создание собственных аннотаций 8-1 Аннотации.
Транксрипт:

Семантический поиск в программном коде Научный руководитель к.ф.-м.н. Д.В.Барашев Рецензент А.А.Бреслав Студент 545 группы Всеволод Иванов Дипломная работа

Актуальность задачи поиска Разные уровни абстракции поисковых запросов и результатов Большие проекты Много компонентов Много связей между ними, в т.ч. неявных Много авторов Большая продолжительность Развитая инфраструктура

Виды поиска Полнотекстовый С регулярными выражениями Семантический Только по исходному коду Используя метаданные

Обзор Инструменты для просмотра кода (IDE, online) Синтаксический поиск, поиск по истории JRipples Поиск через зависимости Статья "An Information Retrieval Approach to Concept Location in Source Code» Семантический поиск с помощью LSA только по исходному коду

Постановка задачи Разработать систему, которая в проекте, имеющем: Систему контроля версий Баг-трекер Провязку VCS и баг-трекера по данному поисковому запросу находит: Список файлов, связанных с этим запросом Список разработчиков, внесших наибольший вклад в данную функциональность, отсортированные по релевантности

Индексирование Анализируемый язык – Java Особенности парсинга: Только нужные файлы Stop words: English Java Разбиение идентификаторов на слова: Регистр Подчеркивания и точки

Поиск 1. Базовые результаты – SemanticVectors 2. Изменение на основе метаданных (git, баг-трекер): Blame найденных файлов Объединение коммитов, относящихся к одной задаче Подсчет частоты встречаемости в коммитах Математическая модель 3. Поиск авторов

Математическая модель targetRank = sourceRank + commitCount * coefficient targetRank – итоговый рейтинг документа sourceRank – рейтинг документа из SemanticVectors commitCount – количество связанных коммитов, содержащих документ coefficient – константа, зависящая от размера проекта

Class Diagram

Апробация Проводилась на open-source проектах компании JetBrains: Kotlin и MPS Сравнение с Lucene, SemanticVectors и дальнейшая оценка результатов экспертом Выводы: Использование метаданных улучшает результаты Неточность рейтингов Возможно, модели словесных пространств не подходят для программного кода Размытый критерий релевантности

Результаты Разработана система, которая в проекте, имеющем: Систему контроля версий Баг-трекер Провязку VCS и баг-трекера по данному поисковому запросу находит: Список файлов, связанных с этим запросом Список разработчиков, внесших наибольший вклад в данную функциональность, отсортированные по релевантности