Русский /  English

DocLine

В общем

Цель проекта – разработка техник повторного использования документации. Не секрет, что, например, большие технические задания, размером в сто страниц и более, содержат огромное количество повторов. Многочисленные повторы содержатся также в API-документации, в руководствах программистам и пр. документах программных проектов. Причина этого – в активном использовании copy-pasting при разработке и модификации документов. Неуправляемые повторы существенно затрудняют поддержку документации, поскольку при внесении изменений надо гарантировать, что вся раскопированная информация также будет надлежащим образом изменена. Организация планового повторного использования, основанная на формальных методах, поможет использовать повторы для унификации документов и решит вопрос с синхронным изменением повторяющейся информации в больших документах.

При этом повторное использование документации оказывается возможным, поскольку в настоящее время активно используются так называемые markup-языки для разработки документов, в частности, DocBook. Эти языки подразумевают создание документа как специальной программы, в которой специфицируется разметка документа (разделы, заголовки и пр.), а также сам контент. Использование markup-языков все прочнее входит в жизнь профессиональных технических писателей, в то время как средства наподобие Microsoft Word используются лишь для небольших документов.

Что сделано

Создан метод повторного использования документации. Метод поддерживает формат DocBook. Созданы средства рефакторинга документации, подразумевающие сохранение внешнего вида и изменения внутреннего представления документации. Реализован программный инструмент Docline (Java/Eclipse). Скачать исходный код инструмента можно здесь.

Создан подход к поиску и анализу повторов в документации. Реализован алгоритм поиска нечетких повторов на основе поиска клонов в ПО. Создан прототип алгоритма поиска нечетких повторов на основе N-gram модели. Создан интерактивный поход к анализу нечетких повторов и выделению семантически значимых повторов. Реализован программный инструмент Duplicate Finder, поддерживающий визуализацию и анализ нечетких повторов (Python). Более подробная информация по поиску нечетких повторов и исходному коду инструмента находится здесь.

Контакты

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

Публикации по проекту

Авторы Название Издание Скачать
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
Д.В.Луцив, Д.В.Кознов, В.С.Андреев Иерархический алгоритм diff при работе со сложными документами Сб. Системное программирование./ Вып. 7, под ред. А.Н.Терехова и Д.Ю.Булычева. СПб.: Изд. СПбГУ, 2012. C. 57-68. pdf
Д.В.Кознов, А.В.Шутак, М.Н.Смирнов, М.А.Смажевский Поиск клонов при рефакторинге технической документации Компьютерные инструменты в образовании./ Вып. 4. 2012. С. 30-40. pdf
Д.В.Кознов, М.Н.Смирнов, В.А.Дорохов, К.Ю.Романовский WebMLDoc: подход к автоматизированному отслеживанию изменений в пользовательской документации Web-приложений Вестник Санкт-Петербургского Университета, Сер. 10. Вып. 3. 2011. С. 112-126. pdf
Смирнов М.Н., Кознов Д. В., Дорохов В. А., Романовский К.Ю. Программная среда WebMLDoc для автоматизированного отслеживания изменений в пользовательской документации Web-приложений Сб. Системное программирование./ Вып. 5, под ред. А.Н.Терехова и Д.Ю.Булычева. СПб.: Изд. СПбГУ, 2010. C. 32-51. pdf
Д.В.Кознов, К.Ю.Романовский Автоматизированный рефакторинг документации семейств программных продуктов Системное программирование./ Вып. 4, под ред. А.Н.Терехова и Д.Ю.Булычева. СПб.: Изд. СПбГУ, 2009.С. 128-150. pdf
К.Ю. Романовский Разработка повторно-используемой документации семейства телефонных станций средствами технологии DocLine Вестник Санкт-Петербургского университета. Сер. 10. 2009. Вып. 2 pdf
K.Romanovsky, D.Koznov, L.Minchin Refactoring the Documentation of Software Product Lines 3rd IFIP td2 Central and East European Conference on Software Engineering Techniques CEE-SET 2008, Brno (Czech Republic), October 13-15, 2008 pdf
Д.В.Кознов, К.Ю.Романовский DocLine: метод разработки документации семейства программных продуктов Программирование, 2008, № 4 С. 1-13 pdf
К.Ю.Романовский, Д.В.Кознов Язык DRL для проектирования и разработки документации семейства программных продуктов Вестник Санкт-петербургского университета, Серия 10, Информатика, № 4, 2007. С. 110-122 pdf
К.Ю. Романовский Метод разработки документации семейств программных продуктов Системное программирование. Вып. 2, под ред. А.Н.Терехова и Д.Ю.Булычева. СПб.: Изд. СПбГУ, 2006. С. 191-218 pdf
Д.Кознов, А. Перегудов, К. Романовский, А. Кашин, А. Тимофеев Опыт использования UML при создании технической документации Системное программирование./ Вып. 1, под ред. А.Н.Терехова и Д.Ю.Булычева. СПб.: Изд. СПбГУ, 2005. С.18-35. pdf

Диссертации

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

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

Год Автор Тема Скачать
2016 Лев Столпнер Обнаружение нечётких повторов в форматированных текстах pdf
2013 Дмитрий Копин Поиск клонов в XML-документации pdf
2011 Мария Лебедева Поддержка управления документацией в семействах Web-приложений интенсивной обработки данных pdf
2011 Валерия Головина Поддержка вариативности в семействах Web-приложений интенсивной обработки данных pdf
2010 Александр Голубев Расширение гипертекстовой модели языка WebML средствами поддержки вариативности pdf
2010 Вадим Дорохов Автоматизированная поддержка полхзовательской документации web-приложений, разрабатываемых в среде WebRatio pdf
2010 Николай Соколов Интеграция технологии DocLine в Adobe FrameMaker pdf
2008 Леонид Минчин Разработка методов рефакторинга документации семейств программных продуктов pdf
2008 Татьяна Дроздова Апробация метода DocLine разработки технической документации на промышленном проекте pdf
2007 Константин Яковлев Создание среды разработки документации для семейств программных продуктов pdf
2007 Алексей Семёнов Система визуального проектирования документации семейств программных продуктов pdf