Автореферат (1149621)
Текст из файла
На правах рукописиЛуцив Дмитрий ВадимовичПОИСК НЕТОЧНЫХ ПОВТОРОВВ ДОКУМЕНТАЦИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ05.13.11 — Математическое и программное обеспечениевычислительных машин, комплексов и компьютерных сетейАвторефератдиссертации на соискание учёной степеникандидата физико-математических наукСанкт-Петербург2018Работа выполнена на кафедре системного программирования Санкт-Петербургскогогосударственного университетаНаучный руководитель:КОЗНОВ Дмитрий Владимирович, доктор техническихнаук, доцент, профессор кафедры системного программированияОфициальные оппоненты:ВОДЯХО Александр Иванович, доктор технических наук,профессор, профессор кафедры вычислительной техники,Федеральное государственное автономное образовательноеучреждение высшего образования «Санкт-Петербургскийгосударственный электротехнический университет "ЛЭТИ"им. В.И.
Ульянова (Ленина)»ДРОБИНЦЕВ Павел Дмитриевич, кандидат техническихнаук, доцент, доцент высшей школы программной инженерии, Федеральное государственное автономное образовательное учреждение высшего образования «Санкт-Петербургскийполитехнический университет имени Петра Великого»Ведущая организация:Федеральное государственное учреждение «Федеральный исследовательский центр Институт прикладной математикиим. М.В. Келдыша Российской академии наук» (ИПМим. М.В.
Келдыша РАН)Защита состоится 17 мая 2018 г. в 16:30 на заседании диссертационного советаД 212.232.51 на базе Санкт-Петербургского государственного университета по адресу:198504, Санкт-Петербург, Старый Петергоф, Университетский пр. 28, математикомеханический факультет СПбГУ, ауд. 405.С диссертацией можно ознакомиться в библиотеке Санкт-Петербургского государственного университета по адресу: 199034, Санкт-Петербург, Университетская наб.,д. 7/9, а также на сайте: https://disser.spbu.ru/disser/soiskatelyu-uchjonoj-stepeni/dis-list/details/14/1598.html.Автореферат разослан ___________ 2018 года.Учёный секретарьдиссертационного советаДемьянович Юрий Казимирович2ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫАктуальность темы исследования.
Документация современного программногообеспечения (ПО) имеет значительные объёмы, сложную структуру и длительныйжизненный цикл. При разработке и сопровождении документации в неё вноситсябольшое количество точечных изменений, часто документация разрабатываетсяколлективом авторов, состав которого со временем меняется. Все это приводит кбольшому количеству ошибок и рассогласованностей, а также к нарушению единогостиля, то есть к деградации качества документации. В качестве примера можноуказать описание ядра ОС Linux (Linux Kernel Documentation): проблемы качестваэтой документации в последнее время активно обсуждаются в Linux-сообществе.Одним из известных способов поддержки документации является стандартизация иповторное использование.
Стандартизация означает создание и использованиешаблонов и соглашений. Повторное использование документации подразумеваетвыделение переиспользуемых свойств программного обеспечения (тестов, требований,функциональности модулей, методов и пр.) и унификацию соответствующихфрагментовдокументации.Это,всвоюочередь,облегчаетсопровождениедокументации, так как изменения вносятся один раз в определение текстовогофрагмента и далее автоматически попадают во все соответствующие места текста.Следуетотметитьважностьнеточныхповторов — текстовыхфрагментов,незначительно отличающихся друг от друга. К их появлению приводит широкоиспользуемый при разработке документации приём copy/paste: вначале фрагменттекста копируется, затем каждая копия как-то по-своему изменяется. Учёт неточныхповторов может предоставить новые возможности для стандартизации и повторногоиспользования (работа E. Juergens с коллегами, работа M.
Oumaziz с коллегами), в томчисле для параметрического повторного использования (работы M. Oumaziz сколлегами, К. Романовского и Д. Кознова, M. Horie с коллегами, M. Nosál и J.Porubän).Как при стандартизации существующей документации, так и при наладкеповторного использования, важным оказывается поиск повторяющихся текстовыхфрагментов.Такойпоисквостребован3такжеприформальнойобработкедокументации,например,впроцессевыделенияформальных требованийвтехническом задании для последующей генерации тестов. При этом, если для поискаточных повторов могут быть использованы различные существующие подходы,например, методы поиска клонов в ПО, то для поиска неточных повторов требуютсяспециальные алгоритмы и методы. На настоящий момент такие подходы отсутствуют.Таким образом, поиск неточных повторов в документации ПО является актуальнойнаучно-практической задачей, решение которой способно существенно повыситькачество сложной документации ПО путём предоставления различных сервисов поанализу и сопровождению документации.
Также требуют изучения вопросыиспользования алгоритмов поиска неточных повторов в процессе реструктуризации иулучшения документации ПО.Степень разработанности темы работы. Существуют работы, предлагающиеметоды разработки документации с применением повторного использования:M. Oumaziz с коллегами, M. Horie с коллегами, M.
Nosál и J. Porubän, К. Романовскийи Д. Кознов. Следует также отметить модульный способ организации документации втехнологии DITA. Работы в этой сфере концентрируются вокруг форматов и языковразработки документации, разделяющих внутреннее и финальное представлениядокументации – DITA, DocBook, JavaDoc, Tex, ReStructuredText, Markdown и др. Такиеформаты активно используются на практике, поскольку позволяют решать задачуединого представления документации (single source) и автоматически порождать поэтому представлению различные выходные документы, а также ввиду того, чтотехнологии, основанные на этих форматах, обеспечивают надёжность при вёрсткебольших документов.
Методы повторного использования являются одним изосновных источников требований к исследованиям в области автоматизированногопоиска неточных повторов в документации ПО.Существует значительное количество эмпирических исследований, посвящённыхповторам в различной программной документации: E. Juergens с коллегами исследуютповторы в спецификациях требований, M. Oumaziz с коллегами — в APIдокументации, M. Nosál и J.
Porubän — во внутренней документации (internaldocumentation). A. Wingkvist с коллегами исследовали повторы в документации ПО сточки зрения управления дальнейшей разработкой документации. Однако во всех этих4исследованияхрассматривалисьнеобходимость работы слишьточныенеточными.повторы,Требуетсятакжехотяиотмечаласьотметить отсутствиеформализации понятия «неточный повтор»: общая концепция повторно используемогоконтента была разработана ещё в конце 90-х P. Basett, но с тех пор были предпринятылишь незначительные дальнейшие шаги — см. работы M. Nosál и J.
Porubän, вкоторых, тем не менее, формальное определение неточных повторов отсутствует.Кроме того, осталась в стороне задача унификации большого класса документациипрограммного обеспечения — так называемой reference-документации (различныесправочники, руководства пользователей, API-документация и т.д.). Данный виддокументации предложил в 2011 году D. Parnas.Существующиеметодыпоискаповтороввдокументацииосновываютсяпреимущественно на технике поиска клонов в ПО: с этой целью используются готовыеклон-детекторы, незначительно модифицированные для работы с документацией. Темне менее следует отметить, что данный подход не позволяет эффективно искатьнеточныеповторывдокументацииПО,посколькуиспользуетпоискпосинтаксическому дереву программы.
Кроме того, такой подход приводит к большомуколичеству ложноположительных срабатываний (false positives), а также низкомукачеству найденных повторов (одна из основных проблем здесь — игнорированиеструктуры документа). S. Wagner, и D. Fernández пишут о преимуществах методов исредств обработки естественных языков (natural language processing) при формальнойобработке текстовой информации программных проектов, но не приводят готовыхметодов для поиска повторов. Также следует отметить, что до сих пор остались неисследованными вопросы семантического анализа повторов в документации ПО.Итак, необходима формальная модель нечетких повторов, ориентированная наразработку соответствующих алгоритмов, а также эффективные подходы для поисканеточных повторов в документации ПО, которые обеспечили бы учет семантическойинформации, а также были бы максимально свободны от ложноположительныхсрабатываний.Такжетребуетсядетальноисследоватьсемантикуповторовдокументации различного вида.
Наконец, необходимы методы использованиянайденных повторов при улучшении документации, а также стыковка таких методов сподходами к повторному использованию документации.5Объектом исследования диссертационной работы являются алгоритмы поискаточных и неточных повторов в документации ПО, подходы к сопровождению иулучшению документации, модели и методы разработки программного обеспечения,языки разметки документации (markup languages), технологии и программныесредства для разработки документации.Целью данной работы является создание алгоритмов и методов для поисканеточных повторов в документации программного обеспечения с целью повышениякачества документации в процессе её сопровождения.
Для достижения этой цели былсформулирован ряд следующих задач.1. Формализовать понятие неточного повтора в документации ПО и разработатьэффективные алгоритмы поиска таких повторов.2. Создать метод улучшения документации на основе поиска повторов.3. Выполнить программную реализацию алгоритмов и методик, апробировать результаты исследования на реальной документации ПО.Постановка цели и задач исследования соответствует следующим пунктам паспортаспециальности 05.13.11: модели, методы и алгоритмы проектирования и анализапрограмм и программных систем, их эквивалентных преобразований, верификации итестирования(пункт 1);оценкакачества,стандартизацияисопровождениепрограммных систем (пункт 10).Методология и методы исследования. Методология исследования базируется наидеях и подходах программной инженерии, нацеленных на разработку эффективныхметодов создания ПО и документации.В работе использована концепция архетипа и дельт, а также концепциянастраиваемых фреймов для повторного использования вариативного контента(P.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.















