Диссертация (1149623), страница 16
Текст из файла (страница 16)
Апробация результатов: инструмент Duplicate FinderОписанные в предыдущих главах алгоритмы, методика и метод реализованыв инструменте Duplicate Finder [60]. Данная глава посвящена описанию этого инструмента.5.1. Обзор функциональностиDuplicate Finder реализует функциональность для работы с повторами при сопровождении документации. Рассмотрим его возможности.1. Поиск повторов. Инструмент позволяет автоматически находить как точные,так и неточные повторы в отдельном документе.
Из форматов документов онподдерживает неформатированный текст и DocBook [147] или DRL [11, 21].В качестве входных поддерживаются также и другие форматы, но документыв других форматах конвертируются в DocBook или текст при помощи утилиты Pandoc [113]. Если документация состоит из нескольких файлов, ониобъединяются в один. Поиск повторов осуществляется в двух режимах — автоматическом и интерактивном.2. Визуализация повторов. Инструмент поддерживает навигацию по найденным повторам (рис.
5.1.1). Он отображает список групп (не)точных повторов,их общую часть (архетип) и специфичные для каждого повтора части. Дляработы с повторами каждый повтор можно посмотреть в контексте окружающего его текста.3. Управление повторами. Инструмент позволяет редактировать найденныеповторы путём изменения их границ. Пользователь может счесть какие-либоиз повторов осмысленными и утвердить их, то есть отметить и вывести издальнейшего рассмотрения (рис. 5.1.2).
Таким образом, окончательное решение по вопросу, действительно ли найденный кандидат в повторы имеет значение, как повтор, принимается человеком.90Рис. 5.1.1. Представление результатов автоматического поиска неточныхповторов (браузер неточных повторов)Рис. 5.1.2. Редактирование границ найденных неточных повторов91Также Duplicate Finder поддерживает рефакторинг документов в форматахDocBook и DRL: пользователь может отметить группу неточных повторов, какисточник для автоматического создания шаблона.
У получившегося шаблона будут формальные параметры, соответствующие точкам расширения (определение 2.1.10) группы неточных повторов. В результате рефакторинга шаблон выделяется в виде новой повторно используемой конструкции DRL (информационного элемента или словаря), а все неточные повторы выбранной группы заменяются на ссылки на шаблон, параметризованные фактическими параметрами, взятыми из текста до рефакторинга. При рефакторинге инструмент сохраняет корректность разметки, обеспечивая, таким образом, корректность документа относительно XML-схемы DocBook.5.2. Функциональная архитектураНа рис.
5.2.1 представлена функциональная архитектура Duplicate Finder: прямоугольниками представлены блоки функциональности инструмента, стрелкизадают основной сценарий использования.Компонента Выбор режима работы, настройки реализует диалоговое окно,которое появляется при запуске Duplicate Finder и позволяет пользователю выбрать режим работы — автоматический (см. рис 5.2.2) или интерактивный (см.рис 5.2.3). Автоматический режим предназначен для предварительного анализаповторов в документе: пользователь имеет возможность быстро определить,сколь много повторов в документации и какие они. Для этого используется алгоритм компоновки неточных повторов, описанный в главе 2.
Интерактивный режим предназначен для поиска осмысленных неточных повторов в документе спомощью методики, представленной в главе 3. Кроме того, данная компонентаконвертирует различные форматы в «плоский» текст, используя утилиту Pandoc[113], которая должна быть предварительно установлена на компьютере.
Исключение делается для формата DocBook, который обрабатывается инструментов92Duplicate Finder «as is». Также в диалоговом окне можно выбрать следующие дополнительные настройки инструмента. В автоматическом режиме (см. рис. 5.2.2)пользователь может: изменить минимальную длину в токенах точных повторов, фиксируемых Clone Miner (по умолчанию эта длина равна 1); задать действия при обнаружении в найденных повторах повреждённойDocBook-разметки (обработать группу как есть, проигнорироватьгруппу, или автоматически сократить границы повторов, исключая изних синтаксически некорректные конструкции); изменить минимально допустимую длину архетипа неточных групп (втокенах, по умолчанию 5); оптимизировать выдачу алгоритма компоновки неточных повторов (поумолчанию включено).В интерактивном режиме пользователь может задать следующие настройки(см.
рис. 5.2.3): изменить минимальную длину повторов, используемых при построениикарты повторов (в токенах, по умолчанию 5); изменить максимальную длину повторов, используемых при построении карты повторов (по умолчанию не ограничена); изменить минимальную мощность точных групп, повторы которых используются для построения тепловой карты (по умолчанию 2, то есть всегруппы).Поиск точных повторов выполняется при помощи инструмента поиска программных клонов Clone Miner [35].
Эти повторы используются в обоих режимахработы инструмента: в автоматическом режиме на их основе строятся (компонуются) неточные повторы, в интерактивном режиме с их помощью строится картаповторов и тепловая карта документа.93Компонента Компоновка неточных повторов реализует соответствующийалгоритм.Браузер неточных повторов (см. пример на рис. 5.1.1) представляет информацию о найденных группах неточных повторов в режиме автоматического поиска. Строка в таблице соответствует одной группе. В первой колонке содержится номер группы, во второй — количество элементов (повторов) в группе, втретьей — количество точек расширения.
Наконец, в последней колонке отображаются повторы группы. Для этого предложена следующая метафора визуализации. Точки расширения ограничены двойными треугольниками, между которыми указан номер точки. Внутри этой области разными цветами указываютсяразличные варианты значений данной очки расширения для разных повторов вгруппе. Чтобы эти значения не сливались, они отображаются разными цветами.Внизу под таблицей с группами находится окно с исходным документом, представленном в текстовом формате или в формате Docbook (последнее используется для случая, когда исходный документ находится в формате Docbook).
В этомокне можно увидеть каждый повтор, содержащийся в группе, в том виде, как онвходит в исходный документ — это вхождение выделено синим цветом. Такжеможно посмотреть на тот контекст, в котором находится данное вхождение.Навигация по повторам группы производится с помощью цифр, находящихся вправом нижнем углу ячейки с повторами. Эти цифры отображаются то фиолетовым, то лиловым цветом с тем, чтобы выделяться и не сливаться. При нажатиимышью на каждую из них происходит переключения окна исходного документана соответствующий повтор.В браузере неточных повторов можно вызвать функцию экспорта информациив HTML-отчёт.
Вся функциональность браузера по навигации по множествугрупп повторов, найденных для данного документа, будет доступна в Интернетбраузере. В отчёт будет также включён и «плоский» текст самого документа.94Данная функциональность удобна для анализа повторов без использования Duplicate Finder, только средствами Интернет-браузера. Поддерживаются браузерыFireFox и Chrome. Пример отчёта представлен на рис.
5.2.5.Компонента Средства рефакторинга для Docbook позволяет выполнять рефакторинг Docbook-документов. С этой целью необходимо в браузере неточныхповторов указать соответствующую группу и выбрать из контекстного менюодну из двух возможностей — создать вариативный повторно используемыйшаблон (в терминах DRL — информационный элемент) или словарь.Компонента Браузер карты повторов и тепловая карта реализует интерактивный режим поиска неточных повторов. Эта компонента содержит три разныхокна: тепловую карту документа, карту повторов и список найденных групп повторов (см. рис. 5.2.4).
Тепловая карта отображает «плотность» повторов в разных частях документов, при этом документ представлен в данном окне целиком.Кроме красно-белой гаммы в этом окне также отображаются (голубым цветом)те участки документа, которые уже вошли в группы повторов, созданные напредыдущих шагах. При нажатии мышкой в какую-то часть тепловой карты вследующем окне (в карте повторов) отображается окрестность документа вокругместа, которое отмечено на тепловой карте.
Эта окрестность показывается в видетекста, тоже размеченного цветом, как и в тепловой карте. Наконец, третье окноотображает список групп, найденный в рамках данного режима работы инструмента на предыдущих итерациях. Данное окно аналогично браузеру неточныхповторов и впоследствии будет заменено этим браузером, когда будет реализован поиск архетипа и дельты в неточных повторах, найденных с помощью алгоритма поиска по образцу.Инструмент может работать на операционных системах Windows и Linux.95Выбор режимаработы, настройкиБраузер карты повторови тепловая картаПоиск точных повторов(Clone Miner)Компоновка неточныхповторовПоиск пообразцуМодификациягруппы повторовБраузер неточныхповторовHTML-отчётРефакторингDocBookРис. 5.2.1.















