Русский
/
English
Duplicate Finder
Проблема поиска неточных повторов в документации программного
обеспечения достаточно известна. Повторы в такой документации могут быть
злом, то есть свидетельствовать о плагиате, о раздувании документации и
пр. Но они могут быть и полезны — для повторного использования
фрагментов документации, а также для её унификации. Особенно полезна
унификация документов на основе повторов в случае reference-документации
(понятие ввёл Д.Парнас): имеется в виду документация, которая пишется
как справочник и которую пользователи читают не от начала до конца, а с
того места, которое им нужно. Примерами могут служить руководства
пользователей, документация открытых программных интерфейсов,
руководства программистов и др. Так вот в такой документации важно,
чтобы все было единообразно, то есть одинаковая информация выражалась
одними и теми же словами.
Мы исследуем проблему повторов в документации программного обеспечения.
Первая задача, которую мы решаем — это поиск уже существующих
повторов. Причём неточных. И здесь мы столкнулись с большим количеством
трудностей. Дело в том, что точные повторы можно искать, используя
многочисленные готовые средства. С неточными повторами все обстоит
сложнее. Мы решили использовать готовые средства поиска, интегрируя и
специализируя их для нашей задачи. Мы используем средства поиска клонов
в программах, мы начали использовать средства работы с естественными
языками, на очереди — инструменты информационного поиска.
Далее, мы разрабатываем классификацию повторов в разных видах
документов, а также метод улучшения (унификации) документации,
основанный на повторах.
Кроме того, мы разрабатываем программный инструмент Duplicate Finder,
который призван помочь при анализе повторов (точных и неточных) в
программной документации.
Данный тул предназначен для поиска и анализа нечетких повторов в
документации программного обеспечения. Два фрагмента текста являются
нечеткими повторами, если они содержат общую информацию, выраженную
синтаксически одинаково (то есть одним и тем же текстом), но имеют ряд
отличий, и при этом одинаковой информации существенно больше, чем
отличий.
Наш тул работает в двух режимах:
- он позволяет быстро, автоматически определить нечеткие повторы в
предложенном документе;
- тул поддерживает интерактивный поиск, вовлекая человека.
Превый режим нужен для того, чтобы сделать экспресс-оценку наличия
повторов в документе. Однако в автоматическом режиме не удаётся выявить
семантически корректные повторы - часто объединяются бессмысленные,
синтаксически-идентичные фразы, а значимые повторы извлечены не
полностью. Имеются и другие проблемы. Однако общая картина «густоты»
повторов в документе в этом режиме определяется достоверно. А дальше,
для получения корректной информации и дальнейшего использования нечетких
повторов в documentation reuse, предлагается интерактивный режим.
Исходный код тула можно взять
здесь.
Эти исследования, включая реализацию программного инструмента,
выполняются в рамках исследовательского проекта
DocLine.
Контакты
Научный руководитель проекта |
Дмитрий Кознов |
dkoznov [at] yandex.ru |
Технический руководитель |
Дмитрий Луцив |
dluciv [at] math.spbu.ru |
Публикации
Авторы |
Название |
Издание |
Скачать |
D. Koznov E. Ledeneva, D. Luciv, P. Braslavski |
Calculating Similarity of Javadoc Comments |
Programming and Computer Software. 2024. Т. 20. № 1. С. 85–89. |
|
Д.В. Кознов, Е.Ю. Леденева, Д.В. Луцив, П.И. Браславский |
Автоматическое определение сходства Javadoc-комментариев |
Труды Института системного программирования РАН. 2023. Т. 35. № 4. С. 177–186. |
|
D. Koznov, D. Luciv, G. Chernishev, D. Grigoryev |
Extraction of Archetype from Near Duplicates in Software Documentation |
Proceedings of Actual Problems of Systems and Software Engineering (APSSE), 2019, pp. 126–130 |
|
Д.В. Луцив, Д.В. Кознов, А.А. Шелиховский, К. Ю. Романовский, Г.А. Чернышев, А.Н. Терехов, Д.А. Григорьев, А.Н. Смирнова, Д.В. Боровков, А.И. Васенина, Е.Н. Шеметова |
Интерактивный поиск неточных повторов в документации программного обеспечения |
Программирование, 2019, № 6, С. 55–66 |
|
D. Luciv, D. Koznov, A. Shelikhovskii, K. Romanovsky, G. Chernishev, A. Terekhov, D. Grigoriev, A. N. Smirnova, D. Borovkov, A. Vasenina |
Interactive Near Duplicate Search in Software Documentation |
ArXiv EPrint, 2019 |
|
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 |
|
Д.В.Луцив, Д.В.Кознов, Г.А. Чернышев, А.Н. Терехов, К.Ю. Романовский, Д.А. Григорьев |
Обнаружение неточных повторов в документации программного обеспечения |
Программирование, 2018, № 5, С. 57–67 |
|
D.V. Koznov, D.V. Luciv, G.A. Chernishev, A.N. Terekhov |
Detecting Near Duplicates in Software Documentation |
ArXiv EPrint, 2017 |
|
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 |
|
Л.Д. Кантеев, Ю.О. Костюков, Д.В. Луцив, Д.В. Кознов, М.Н. Смирнов |
Обнаружение неточно повторяющегося текста в документации программного обеспечения |
Труды Института системного программирования РАН, том 29, вып. 4, 2017, стр. 303-314 |
|
Д.В. Луцив, Д.В.Кознов, Х.А. Баси́т, А.Н. Терехов |
Задача поиска нечетких повторов при организации повторного использования документации |
Программирование, 2016, № 4 С. 39–49 |
|
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) |
|
Д.В.Луцив, Д.В.Кознов, Х.А. Баси́т, О.Е. Ли, М.Н. Смирнов, К.Ю. Романовский |
Метод поиска повторяющихся фрагментов текста в технической документации |
Научно-технический вестник информационных технологий, механики и оптики./ Вып. 4 (92), СПб НИУ ИТМО 2014. С. 106–114. |
|
Диссертации
Год |
Автор |
Название |
Скачать |
2018 |
Луцив Дмитрий Вадимович, к.ф.-м.н. |
Поиск неточных повторов в документации программного обеспечения |
|
2010 |
Романовский Константин Юрьевич, к.ф.-м.н. |
Метод повторного использования документации семейств программных продуктов |
|
Дипломные работы
Год |
Автор |
Тема |
Скачать |
2023 |
Глазырин Антон Георгиевич |
Универсальный механизм первичного поиска повторов в тексте для пакета Duplicate Finder |
|
2020 |
Леденева Екатерина Юрьевна |
Сравнительный анализ алгоритмов вычисления текстовых метрик для документации программного обеспечения |
|
2020 |
Коновалова Ирина Михайловна |
Поиск и кластеризация нечетких повторов в документации программного обеспечения |
|
2018 |
Акбаров Артур Александрович |
Метод улучшения документации программного обеспечения на основе поиска нечётких повторов |
|
2018 |
Долотов Виктор Юрьевич |
Поиск архетипа в выборках похожих строк с визуализацией средствами Python |
|
2018 |
Горгулов Павел Олегович |
Модель N-грамм для поиска нечетких повторов в «плоских» текстах |
|
2018 |
Коновалова Ирина Михайловна |
Разработка эталонной коллекции для задачи поиска нечётких дубликатов в документации программного обеспечения |
|
2018 |
Шелиховский Анатолий Алексеевич |
Быстрый поиск по образцу неточных повторов в текстовых документах |
|
2016 |
Столпнер Лев Артемович |
Обнаружение нечётких повторов в форматированных текстах |
|
2015 |
Клочкова Екатерина Владимировна |
Семантический подход к повторному использованию фрагментов технической и нормативной документации |
|
2013 |
Копин Дмитрий Валерьевич |
Поиск клонов в XML-документации |
|