Русский /  English

Duplicate Finder

Проблема поиска неточных повторов в документации программного обеспечения достаточно известна. Повторы в такой документации могут быть злом, то есть свидетельствовать о плагиате, о раздувании документации и пр. Но они могут быть и полезны — для повторного использования фрагментов документации, а также для её унификации. Особенно полезна унификация документов на основе повторов в случае reference-документации (понятие ввёл Д.Парнас): имеется в виду документация, которая пишется как справочник и которую пользователи читают не от начала до конца, а с того места, которое им нужно. Примерами могут служить руководства пользователей, документация открытых программных интерфейсов, руководства программистов и др. Так вот в такой документации важно, чтобы все было единообразно, то есть одинаковая информация выражалась одними и теми же словами.

Мы исследуем проблему повторов в документации программного обеспечения. Первая задача, которую мы решаем — это поиск уже существующих повторов. Причём неточных. И здесь мы столкнулись с большим количеством трудностей. Дело в том, что точные повторы можно искать, используя многочисленные готовые средства. С неточными повторами все обстоит сложнее. Мы решили использовать готовые средства поиска, интегрируя и специализируя их для нашей задачи. Мы используем средства поиска клонов в программах, мы начали использовать средства работы с естественными языками, на очереди — инструменты информационного поиска.

Далее, мы разрабатываем классификацию повторов в разных видах документов, а также метод улучшения (унификации) документации, основанный на повторах.

Кроме того, мы разрабатываем программный инструмент Duplicate Finder, который призван помочь при анализе повторов (точных и неточных) в программной документации.

Данный тул предназначен для поиска и анализа нечетких повторов в документации программного обеспечения. Два фрагмента текста являются нечеткими повторами, если они содержат общую информацию, выраженную синтаксически одинаково (то есть одним и тем же текстом), но имеют ряд отличий, и при этом одинаковой информации существенно больше, чем отличий.

Наш тул работает в двух режимах:

Превый режим нужен для того, чтобы сделать экспресс-оценку наличия повторов в документе. Однако в автоматическом режиме не удаётся выявить семантически корректные повторы - часто объединяются бессмысленные, синтаксически-идентичные фразы, а значимые повторы извлечены не полностью. Имеются и другие проблемы. Однако общая картина «густоты» повторов в документе в этом режиме определяется достоверно. А дальше, для получения корректной информации и дальнейшего использования нечетких повторов в documentation reuse, предлагается интерактивный режим.

Исходный код тула можно взять здесь.

Эти исследования, включая реализацию программного инструмента, выполняются в рамках исследовательского проекта DocLine.

Контакты

Научный руководитель проекта Дмитрий Кознов dkoznov [at] yandex.ru
Технический руководитель Дмитрий Луцив dluciv [at] math.spbu.ru

Публикации

Авторы Название Издание Скачать
D. Luciv, D. Koznov, G. Chernishev, H.A. Basit, K. Romanovsky, A. Terekhov Duplicate finder toolkit Proceedings of the 40th International Conference on Software Engineering (ICSE 2018), ACM, 2018. — P. 171–172 pdf
D. Luciv, D. V. Koznov, G. Chernishev, A. N. Terekhov, Konstantin Romanovsky, D. Grigoriev Detecting Near Duplicates in Software Documentation Programming and Computer Software, 2018, Vol. 44, No. 4, pp. 335–343 pdf
D.V. Koznov, D.V. Luciv, G.A. Chernishev, A.N. Terekhov Detecting Near Duplicates in Software Documentation ArXiv EPrint, 2017 pdf
Dmitry V. Koznov, Dmitry V. Luciv, George A. Chernishev Duplicate management in software documentation maintenance Proceedings of V International conference Actual problems of system and software engineering (APSSE 2017), CEUR Workshop Proceedings, vol. 1989, pp. 195–201 pdf
Л.Д. Кантеев, Ю.О. Костюков, Д.В. Луцив, Д.В. Кознов, М.Н. Смирнов Обнаружение неточно повторяющегося текста в документации программного обеспечения Труды Института системного программирования РАН, том 29, вып. 4, 2017, стр. 303-314 pdf
Д.В.Луцив, Д.В.Кознов, Х.А. Баси́т, А.Н. Терехов Задача поиска нечетких повторов при организации повторного использования документации Программирование, 2016, № 4 С. 39–49 pdf
D. Koznov, D. Luciv, H. Basit, O. Lieh, M. Smirnov Clone Detection in Reuse of Software Technical Documentation Lecture Notes in Computer Science, Vol. 9609, 2016, pp. 170-185 (Десятая международная Ершовская конференция «Перспективы систем информатики» PSI 2015) pdf
Д.В.Луцив, Д.В.Кознов, Х.А. Баси́т, О.Е. Ли, М.Н. Смирнов, К.Ю. Романовский Метод поиска повторяющихся фрагментов текста в технической документации Научно-технический вестник информационных технологий, механики и оптики./ Вып. 4 (92), СПб НИУ ИТМО 2014. С. 106–114. pdf

Диссертации

Год Автор Название Скачать
2018 Луцив Дмитрий Вадимович, к.ф.-м.н. Поиск неточных повторов в документации программного обеспечения pdf
2010 Романовский Константин Юрьевич, к.ф.-м.н. Метод повторного использования документации семейств программных продуктов pdf

Дипломные работы

Год Автор Тема Скачать
2018 Акбаров Артур Александрович Метод улучшения документации программного обеспечения на основе поиска нечётких повторов pdf
2018 Долотов Виктор Юрьевич Поиск архетипа в выборках похожих строк с визуализацией средствами Python pdf
2018 Горгулов Павел Олегович Модель N-грамм для поиска нечетких повторов в «плоских» текстах pdf
2018 Коновалова Ирина Михайловна Разработка эталонной коллекции для задачи поиска нечётких дубликатов в документации программного обеспечения pdf
2018 Шелиховский Анатолий Алексеевич Быстрый поиск по образцу неточных повторов в текстовых документах pdf
2016 Столпнер Лев Артемович Обнаружение нечётких повторов в форматированных текстах pdf
2015 Клочкова Екатерина Владимировна Семантический подход к повторному использованию фрагментов технической и нормативной документации pdf
2013 Копин Дмитрий Валерьевич Поиск клонов в XML-документации pdf