Тип работы:
Предмет:
Язык работы:


Метод улучшения документации программного обеспечения на основе поиска нечётких повторов

Работа №125926

Тип работы

Бакалаврская работа

Предмет

информационные системы

Объем работы25
Год сдачи2018
Стоимость4700 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
13
Не подходит работа?

Узнай цену на написание


Введение 4
1. Постановка задачи 6
2. Обзор 7
2.1. Концепция архетипа и дельт 7
2.2. Проект DocLine и неточные повторы 8
2.3. API-документация 8
2.4. Инструмент Duplicate Finder 9
3. Исследование иерархических связей повторов в доку­ментации ПО 11
3.1. Мотивация 11
3.2. Рассмотренные проекты и их документация 12
3.3. Подход к построению иерархических групп 13
3.4. Иерархические группы повторов 16
3.5. Выводы 19
4. Инструмент по визуализации иерархических связей 20
Заключение 23
Список литературы 24

В современном мире во всех сферах жизнедеятельности человеку помогает ПО. Для поддержки и совершенствования ПО необходима ка­чественная документация.
ПО является сложным сплетением составляющих его модулей, и каждому из них соответствует своя часть документации. Модули за­висят друг от друга, имеют схожий функционал — всё это находит отражение в документации в виде повторяющих друг друга описаний. Отсутствие контроля за такими повторениями порождает нестыковки, разночтения, опечатки, что ухудшает качество документации и услож­няет понимание работы ПО. Исследованию повторов в документации ПО посвящено ряд исследований [2, 7, 11, 21].
При разработке документации её фрагменты могут быть раскопированы и изменены. Таким образом в документации появляются неточ­ные повторы, которые ещё более затрудняют её дальнейшую поддерж­ку. Каждый раз при внесении изменений в раскопированный участок нужно найти и соответственно исправить все его повторы, что непросто для неточных повторов [3]. Поэтому важно автоматически находить и отслеживать неточные повторы в документации.
В рамках проекта DocLine [22] был разработан подход для поис­ка и анализа повторов в документации ПО. Был реализован алгоритм поиска нечётких повторов на основе поиска клонов в ПО [13]. Был со­здан прототип алгоритма поиска нечётких повторов на основе N-gram модели [8], а также создан интерактивный подход к анализу нечётких повторов и выделению семантически значимых повторов [3, 17, 20, 21]. Предложенные идеи и алгоритмы были реализованы в программном инструменте Duplicate Finder [18].
Результатом работы инструмента Duplicate Finder является список найденных групп неточных повторов. Каждая группа представляется в «плоском» виде без учёта возможных разветвлённых зависимостей между повторами. Но документация сложно структурирована, и по­вторы в ней имеют многочисленные зависимости, пересечения, могут образовывать иерархическую структуру. Для эффективной разработ­ки и поддержки документации важно учитывать эту структуру. Однако исследований в области иерархических нечётких повторов не проводи­лось. Их изучению и посвящена данная работа.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В рамках данной работы были достигнуты следующие результаты.
1. Изучены возможности поиска и представления групп нечётких по­второв инструмента Duplicate Finder. В том числе выявлена про­блема отображения взаимосвязанных групп.
2. Найдены и проанализированы 9 иерархических групп нечётких повторов в документации проектов Eclipse SWT, Linux Kernel, OpenLDAP. Средняя высота и среднее количество промежуточ­ных узлов построенных деревьев равны 3. Сделан вывод о нали­чии иерархических групп нечётких повторов в реальной докумен­тации. Предложен подход к их построению.
3. Реализован прототипный веб-инструмент, визуализирующий най­денные иерархические группы повторов. В него входят построен­ные деревья, браузер по ним и контекстный модуль.
Инструментарий и разобранные примеры можно найти по ссылке: https://github.com/arthur-akbarov/hierarchical-near-duplicates. git


[1] Bassett P. Framing software reuse — lessons from real world. — Pren­tice Hall, 1996.
[2] Can clone detection support quality assessments of requirements spec­ifications? / E. Juergens, F. Deissenboeck, M. Feilkas et al. — Pro­ceedings of ACM/IEEE 32nd International Conference on Software Engineering, 2010.
[3] Clone Detection in Reuse of Software Technical Documentation / Dmitrij Koznov, Dmitry Luciv, Hamid Abdul Basit et al. — 2015.
[4] The Linux Kernel Archives, Linux Kernel Organization, Inc.— URL: https://www.kernel.org/.
[5] The Linux Kernel documentation, The Kernel Development Commu­nity. — URL: https://www.kernel.org/doc/html/latest/.
[6] MacFarlane J. Pandoc: an universal document converter.— URL: http://pandoc.org/.
[7] Nosal’ M., Poruban J. Reusable software documentation with phrase annotations. — Central European Journal of Computer Science, 2014.
[8] On Fuzzy Repetitions Detection in Documentation Reuse / D.V. Lu­civ, D.V. Koznov, A.N. Terekhov, H.A. Basit. — Programming and Computer Software, 2016.
[9] OpenLDAP, OpenLDAP Foundation.— URL: https://www. openldap.org/.
[10] OpenLDAP Manual Pages, OpenLDAP Foundation. — URL: https: //www.openldap.org/software/man.cgi.
[11] Oumaziz M.A. et al. Documentation Reuse: Hot or Not? An Empirical Study.— Proceedings of 16th International Conference on Software Reuse, 2017.
[12] Parnas D.L. Precise Documentation: The Key to Better Software.— 2011.
[13] Poster: Duplicate Finder Toolkit / Dmitry Luciv, Dmitrij Koznov, George Chernishev et al. — 2018.
[14] SWT Documentation, Eclipse Foundation, Inc. — URL: https://www. eclipse.org/swt/docs.php.
[15] SWT: The Standard Widget Toolkit, Eclipse Foundation, Inc. — URL: https://www.eclipse.org/swt/.
...


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ