Методы автоматизации сопровождения программного обеспечения на основе интеллектуальной обработки запросов заказчика тема диссертации и автореферата по ВАК РФ 00.00.00, кандидат наук Ковалев Артем Дмитриевич

  • Ковалев Артем Дмитриевич
  • кандидат науккандидат наук
  • 2023, ФГАОУ ВО «Санкт-Петербургский политехнический университет Петра Великого»
  • Специальность ВАК РФ00.00.00
  • Количество страниц 157
Ковалев Артем Дмитриевич. Методы автоматизации сопровождения программного обеспечения на основе интеллектуальной обработки запросов заказчика: дис. кандидат наук: 00.00.00 - Другие cпециальности. ФГАОУ ВО «Санкт-Петербургский политехнический университет Петра Великого». 2023. 157 с.

Оглавление диссертации кандидат наук Ковалев Артем Дмитриевич

Введение

Глава 1. Анализ подходов к снижению трудоемкости этапа сопровождения программного обеспечения

1.1. Обзор этапа сопровождения программного обеспечения

1.2. Инструменты автоматизации используемые на этапе сопровождения

1.3. Актуальные исследования в области автоматизации этапа сопровождения

1.4. Понимание семантики текстовых данных

1.5. Векторные модели на основе методов машинного обучения

1.7. Выводы

Глава 2. Концепции предлагаемых методов автоматизации этапа сопровождения

2.1. Алгоритм построения векторных пространств

2.2. Предлагаемая концептуальная схема обработки запросов

2.3. Метод снижения трудоемкости этапа сопровождения за счет поиска семантически похожих решенных запросов

2.4. Метод снижения трудоемкости этапа сопровождения за счет поиска семантически похожих на входящий запрос заказчика сегментов документации программного обеспечения

2.5. Метод сокращения времени обработки запросов заказчика в системе отслеживания ошибок за счет применения правил анализа и обработки запроса

2.6. Метод снижения трудоемкости этапа сопровождения за счет автоматизированного выбора сотрудников

2.7. Выводы

Глава 3. Реализация методов в программном комплексе

3.1. Модульная архитектура программного комплекса

3.3. Коннекторы к удаленным источникам данных

3.4. Обработчики запросов

3.5. Генераторы отчетов с рекомендациями

3.6. Создание набора данных

3.7. Создание и использование векторных моделей с помощью модуля векторизации

3.8. Ранжирование результатов поиска с помощью косинусной меры

3.10. Выводы

Глава 4. Результаты применения реализованных методов в

экспериментальных проектах

4.1. Оптимизация гиперпараметров разработанного алгоритма векторизации

4.2. Пример использования предложенных методов на реальных проектах

4.2. Подготовка к эксперименту

4.3. Результаты эксперимента

4.4. Выводы

Заключение

Список литературы

Список иллюстративного материала

Список таблиц

Приложение A. Дистрибутив программного комплекса

4

Рекомендованный список диссертаций по специальности «Другие cпециальности», 00.00.00 шифр ВАК

Введение диссертации (часть автореферата) на тему «Методы автоматизации сопровождения программного обеспечения на основе интеллектуальной обработки запросов заказчика»

Введение

Актуальность темы исследования и степень ее разработанности.

Сопровождение программного обеспечения (ПО) является одним из наиболее значимых и трудоемких этапов жизненного цикла разработки. По некоторым оценкам оно занимает до 67% всех затрат при разработке ПО [1]. На данном этапе инженеры компании поставщика принимают и обрабатывают запросы от заказчиков программного продукта. Запрос, как правило, написан на естественном неформализованном языке и содержит описание ошибки или проблемы, возникшей в ходе эксплуатации программного продукта на стороне заказчика. Так как количество дефектов и недоработок многократно возрастает по мере развития и усложнения программных продуктов, то актуальной задачей исследований является снижение трудоемкости обработки таких запросов.

На сегодняшний день область автоматизации этапа сопровождения ПО активно исследуется и развивается в таких направлениях, как 1) поиск семантически похожих запросов об ошибках, 2) выбор подходящего инженера с необходимым уровнем экспертизы для решения запроса, 3) классификация/категоризация входящих запросов об ошибках и присвоение им определенных тематических меток, 4) извлечение краткого описания и ключевых слов из текстовых данных запросов, 5) определение участков кода, которые потенциально могут являться причиной возникшей ошибки в работе программы. В развитие данных направлений заметный вклад внесли следующие авторы: О.В. Кузина, А.Ю. Крайнов, А.А. Смагин, Н.А. Двойнишников, К.А. Щипанов, S. Rastkar, G.C. Murphy, G. Murray, X. Li, H. Jiang, D. Liu, Z. Ren, G. Li, M.I. Nawaz Tarar, F. Ahmed, W.H. Butt, L. Bo, J. Lu, H. Wang, X. Xia, D. Lo, J. Grundy, X. Wang, L. Zhang, T. Xie, J. Anvik, J. Sun, C. Sun, J. Jiang, S.-C. Khoo, H. Mahfoodh, M. Hammad, A. Al-Batlaa, M. Abdullah-Al-Wadud, M. Anwar, M. D'Ambros, M. Lanza, R. Robbes, R. Almhana, W. Mkaouer, M. Kessentini, A. Ouni и другие.

Результаты диссертационной работы концентрируются на первых двух подходах к автоматизации этапа сопровождения ПО.

В своих работах F. Ebert, E. Aghajani, T. Dasgupta, M. Grechanik, E. Moritz, B. Dit, D. Poshyvanyk, D. Sondhi, A. Gupta, S. Purandare, A. Rana, D. Kaushal, R. Purandare предлагают методы, направленные на автоматическое обновление и совершенствование программной документации в процессе разработки ПО. Однако область эффективной обработки запросов заказчика имеет свои особенности и развитие этих методов не получило здесь достойного продолжения. Для успешного применения в сфере автоматизации этапа сопровождения упомянутые методы требуют существенных доработок. Поэтому автоматизация семантического поиска по локальной и удаленной документации программного продукта представляется весьма перспективной и помогает значительно снизить трудоемкость решения запросов.

Еще одним направлением повышения эффективности обработки запросов является автоматизация рутинных действий за счет использования механизмов исполнения правил. Здесь следует отметить работы авторов S. Juan-Song, H. Bin-Wang, L. Chen, X. Dong, Z. Yang, K. Qu, T. Gong, J. Shao, результаты которых показали свою продуктивность в различных задачах автоматизации процессов. Развитие этих методов в области снижения трудоемкости этапа сопровождения ПО также является многообещающим и помогает избежать повторяющихся операций, сокращая время на исправление ошибок. Учитывая характерные особенности обработки запросов заказчиков, необходимо модифицировать существующие механизмы исполнения правил для эффективной автоматизации этапа сопровождения ПО.

Ни одно из существующих исследований в выбранной предметной области не рассматривает применение совокупности методов для снижения трудоемкости этапа сопровождения. Развитие этих методов в рамках единого подхода является предметом данной диссертации.

Важным элементом ряда этих методов является использование модифицированного алгоритма построения векторных пространств (Doc2VecC),

который был выбран на основе всестороннего сравнительного анализа передовых техник и подходов к информационному поиску по неструктурированным текстовым данным. Он используется для создания векторных представлений текстовых документов и помогает получить новые результаты в работе трех выбранных для изучения подходов.

Цель и задачи диссертационной работы. Целью диссертационной работы является разработка методов автоматизированной обработки запросов заказчиков в системах отслеживания ошибок с применением подходов интеллектуального анализа данных, позволяющих сократить трудоемкость этапа сопровождения программного обеспечения.

Для достижения поставленной цели в работе ставились и решались следующие задачи.

1. Формализовать существующий подход к обработке запросов заказчиков на этапе сопровождения ПО с выявлением узких мест, требующих автоматизации, а также определением недостатков существующих систем поддержки и реализованных в них методов интеллектуальной помощи на основе всестороннего сравнительного анализа программных инструментов.

2. Разработать алгоритм построения векторных пространств, решающий проблему эффективного представления текстовых данных из области программной инженерии в виде числовых векторов.

3. Предложить набор методов автоматизации сопровождения программного обеспечения на основе интеллектуальной обработки запросов заказчика.

4. Определить оптимальные гиперпараметры алгоритма построения векторных пространств для эффективной работы предлагаемых методов и сформулировать правила обработки запросов.

5. Разработать программный комплекс на языке Java, реализующий предложенные в работе методы.

6. Оценить эффективность предложенных методов по снижению трудоемкости этапа сопровождения в сравнении с существующим подходом на трех экспериментальных проектах: Apache Kafka, Apache ActiveMQ, InfoProject.

7. Оценить качество векторных моделей и точность применения правил обработки запросов.

8. Внедрить предлагаемые методы в этап сопровождения проекта InfoProject.

Постановка цели и задач исследования соответствует следующим пунктам

паспорта специальности 2.3.5 «Математическое и программное обеспечение вычислительных систем, комплексов и компьютерных сетей»: 3. Модели, методы, алгоритмы, языки и программные инструменты для организации взаимодействия программ и программных систем; 10. Оценка качества, стандартизация и сопровождение программных систем.

Предметом исследования являются методы и инструментальные средства автоматизации обработки запросов, написанных на естественном языке, в процессе этапа сопровождения программных продуктов.

Научные результаты и их новизна

1. Разработан алгоритм построения векторных пространств, являющийся развитием алгоритма Doc2VecC для случая работы с техническими текстами из области программной инженерии. Новизна заключается в использовании регулярных выражений вместо стохастического подхода для выборки слов при формировании глобального контекста слова во время обучения нейронной сети алгоритма.

2. Предложен подход к автоматизации и снижению трудоемкости этапа сопровождения ПО, который содержит следующий комплекс методов:

2.1. Поиск семантически похожих решенных запросов заказчика в системе отслеживания ошибок за счет подготовки и векторизации текстовых данных запросов с помощью предложенного алгоритма построения векторных пространств.

2.2. Нахождение семантически похожих на входящий запрос заказчика сегментов документации ПО. Метод заключается в подготовке и векторизации текстовых данных входящего запроса и документации с помощью нового алгоритма построения векторных пространств.

2.3. Автоматизация рутинных действий за счет применения разработанных правил анализа и обработки запроса, состоящих из условия и действия. Результатом работы метода является набор рекомендаций, который может быть применен к запросу в автоматизированном режиме.

2.4. Автоматизированный выбор сотрудников, имеющих соответствующую экспертизу в решении поступившего запроса заказчика. Данный метод основан на методе 1, его отличительной особенностью является извлечение имен инженеров из семантически похожих решенных запросов и их ранжирование на основе вероятностного принципа.

Теоретическая значимость работы

Результаты исследования связаны с областью информационного поиска и автоматизацией этапа сопровождения программного обеспечения. Теоретическую значимость работы составляют: предложенный алгоритм построения векторных пространств; разработанные методы снижения трудоемкости обработки запросов заказчиков; созданные интеллектуальные правила обработки запросов, которые могут быть применены в различных программных проектах.

Практическая значимость работы

Разработанный алгоритм построения векторных пространств реализован в виде программной библиотеки и может быть адаптирован к любой иной предметной области, где необходима обработка специализированных текстовых данных. Выигрыш в точности по сравнению с существующим алгоритмом Doc2VecC составляет 15,8% на примере текстов из области программной инженерии.

На базе полученных научных результатов разработан программный комплекс, реализующий предложенные в работе методы автоматизации этапа сопровождения ПО. Он успешно интегрирован в процесс обработки запросов заказчиков на одном из крупных промышленных проектов (InfoProject), где заметно снизил нагрузку на сотрудников и затраты на сопровождение. Кроме того, данный программный комплекс дополнительно был апробирован еще на двух проектах с открытым исходных кодом: Apache Kafka, Apache ActiveMQ.

Автоматизированный подход показал высокую эффективность при обработке входящих запросов заказчиков, позволив сократить трудоемкость этапа сопровождения в 2,4 раза по сравнению с принятым в настоящее время подходом. Применение результатов исследования показывает фактическую пользу в практической деятельности.

Отдельные разработки диссертации внедрены в учебный процесс первого курса магистратуры Высшей школы программной инженерии в Санкт-Петербургском политехническом университете Петра Великого по дисциплине «Системы анализа больших данных».

Методология и методы исследования. Для решения поставленных задач в работе использовались методы математического моделирования, теории множеств и вычислительной математики. Также в диссертации применяются методы планирования, измерения и обработки результатов эксперимента. Кроме того, исследование включает в себя методы оптимизации и оценки качества моделей машинного обучения, а также методы оценки качества ранжирования результатов поиска.

Положения, выносимые на защиту

1. Предложенный алгоритм построения векторных пространств, обеспечивающий эффективный и точный поиск семантически похожих запросов заказчиков и релевантных сегментов документации на этапе сопровождения ПО.

2. Методы автоматизации сопровождения ПО, позволяющие сократить трудоемкость обработки запросов заказчиков:

2.1. Метод поиска семантически похожих решенных запросов для нерешенных запросов заказчика в системе отслеживания ошибок.

2.2. Метод нахождения семантически похожих на входящий запрос заказчика сегментов документации ПО.

2.3. Метод автоматизации рутинных действий, который заключается в применении разработанных правил анализа и обработки запроса.

2.4. Метод автоматизированного выбора сотрудников, имеющих соответствующую экспертизу в решении поступившего запроса заказчика.

Степень достоверности и апробация работы. Обоснованность и достоверность полученных результатов определяется корректным использованием математического аппарата, обеспечивается положительными итогами применения разработанных методов в экспериментальных проектах и подтверждается результатами внедрения на производстве. Эффективность предложенных методов и алгоритмов подкрепляется сравнительным анализом со стандартными подходами к решению подобного рода задач.

Основные положения и результаты диссертационной работы опубликованы в ведущих научных изданиях. Кроме того, они докладывались и обсуждались на научных конференциях, в том числе и международных: «IDC 2019 (Intelligent Distributed Computing)» (СПб, НИУ ИТМО), «CPSC 2019 (Cyber-Physical Systems and Control)» (СПбПУ), «Современные технологии в теории и практике программирования» (СПбПУ, 2020 - 3 место, 2019 - 3 место, 2018 - 1 место), «Неделя науки СПбПУ» (18-23 ноября 2019 года, 19-24 ноября 2018 года).

Публикации. Основные положения диссертации изложены в 8 печатных работах, из них 2 работы опубликованы в журналах из перечня ВАК и 2 работы проиндексированы в Scopus.

Внедрение. Разработанные методы внедрены в рабочий процесс этапа сопровождения ПО компании ООО «Оупен Текст Технолоджи» на проекте InfoProject (система архивного хранения данных).

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения, списка литературы, списка иллюстраций, списка таблиц и одного приложения. Объем диссертации - 154 страницы, объем приложений - 3 страницы; диссертация содержит 72 рисунка, 12 таблиц, список литературы включает 147 названий.

Глава 1. Анализ подходов к снижению трудоемкости этапа сопровождения

программного обеспечения

В первой главе рассмотрен этап сопровождения программного обеспечения (ПО) с точки зрения его трудоемкости, проведен обзор модели взаимодействия всех участников рабочего процесса на данном этапе жизненного цикла, тщательно описана работа инженеров на третьей линии поддержки и обоснована актуальность разработки автоматизированных методов для снижения трудоемкости на этом уровне цепочки сопровождения, проанализированы используемые в процессе сопровождения инструменты и технологии, выявлены их достоинства и недостатки. Помимо сравнительного обзора на Service Desk системы и системы отслеживания ошибок, было проведено исследование плагинов для системы отслеживания ошибок Atlassian Jira.

Первая глава диссертации содержит анализ существующих работ в области автоматизации этапа сопровождения, которые решают задачи поиска похожих запросов и подходящих сегментов документации, автоматизации рутинных действий и выбора инженера с соответствующей экспертизой. Эти направления исследований являются актуальными на сегодняшний день и получили свое развитие в диссертационной работе.

В первой главе также сравниваются различные методы построения семантических структур, таких как онтологии предметной области, а также векторные модели дистрибутивной семантики. Предлагается обоснование того, что подход дистрибутивной семантики на основе методов машинного обучения более предпочтителен для разработки методов автоматизации этапа сопровождения ПО. На основе исследований делается обзор и сравнение алгоритмов создания векторных пространств слов и документов. Приведено обоснование выбора алгоритма Doc2VecC в качестве технологии векторизации текстов, которая необходима для разработки предлагаемых методов. Делается вывод о том, что данный алгоритм требует улучшений для достижения лучших результатов.

1.1. Обзор этапа сопровождения программного обеспечения

Структура и задачи этапов жизненного цикла ПО направлены на организацию эффективного процесса разработки и создания качественного программного продукта [2]. Обычно выделяют 7 основных этапов жизненного цикла разработки: 1) формирование идеи, 2) анализ и определение требований, 3) проектирование дизайна (архитектуры) системы, 4) разработка (программирование), 5) тестирование и отладка, 6) развертывание, 7) эксплуатация и сопровождение (поддержка), 8) закрытие. Этап закрытия не обязателен и зависит от проекта. Одним из самых важных этапов является сопровождение ПО. 1.1.1. Особенности этапа сопровождения и его трудоемкость по сравнению с другими этапами жизненного цикла программного обеспечения

Сопровождение является этапом жизненного цикла ПО, задача которого заключается в улучшении, оптимизации и устранении дефектов ПО после передачи в эксплуатацию. Таким образом, в процессе сопровождения помимо исправления обнаруженных в программном продукте недоработок, часто добавляется новая функциональность с целью повысить удобство использования и применимость ПО в соответствии с изменяющимися потребностями пользователей. Сопровождение также называют фазой технической поддержки, эти термины употребляются как синонимы.

Сопровождение ПО стандартизовано, имеются как национальные стандарты Российской Федерации, так и идентичные им международные: ГОСТ Р ИСО/МЭК 12207-2010 [3] и ISO/IEC 12207:2008 [4], ГОСТ Р ИСО/МЭК 14764-2002 [5] и ISO/IEC 14764:99 [6], IEEE 1219 [7].

В разных моделях жизненного цикла ПО роль и значение этапа сопровождения отличается [8]. Например, в модели водопада, сопровождение ПО выделяется в отдельную фазу жизненного цикла. А в спиральной модели, возникшей в ходе развития объектно-ориентированного программирования, сопровождение не выделяется как отдельный этап. Тем не менее, эта деятельность

занимает значительное место, учитывая тот факт, что обычно около двух третей жизненного цикла программных систем занимает сопровождение.

Рисунок 1 демонстрирует процентное соотношение трудозатрат на каждый из этапов жизненного цикла ПО. Численные данные для диаграммы были взяты из статьи Leondes С.Т. [1].

Рисунок 1 - Трудоемкость этапов жизненного цикла ПО

Сопровождение всегда признавалось одним из основных этапов жизненного цикла программного обеспечения. Трудоемкость этапа сопровождения по некоторым оценкам составляет до 67% от всех затрат жизненного цикла ПО:

• «Сопровождение программного средства может в стоимостном выражении составлять наибольшую часть жизненного цикла» [5].

• «Maintenance costs for large scale software systems can amount to somewhere between 40 and 67% of the total system life cycle cost» [9].

• «All of the indicators show that maintenance and operations costs now eat up more than 60 % of the IT-budget» [10].

• «Software maintenance represented 26% of the total IT budget in 2009» [11].

• «Maintenance is an important stage of software life cycle that accounts for a large percentage of a system's total cost» [12].

• «Software maintenance costs make up about 20-25% of the total cost of the software» [13].

Можно сделать вывод о том, что сопровождение является наиболее длительным и важным этапом жизненного цикла ПО. Данный этап требует больших временных затрат, а также трудовых и материальных ресурсов. Для того, чтобы правильно и эффективно организовать процесс сопровождения необходимо рассмотреть рекомендации, содержащиеся в международных и национальных стандартах.

Для уменьшения стоимости сопровождения ПО, на протяжении всего процесса разработки необходимо специфицировать, оценивать и контролировать характеристики, влияющие на возможность сопровождения. Регулярное проведение таких работ облегчает дальнейшее сопровождение, повышая сопровождаемость программного продукта. Добиться этого достаточно сложно, поскольку такого рода характеристики часто игнорируются при разработке [14].

Этап сопровождения может быть оптимизирован и его трудоемкость может быть уменьшена за счет внедрения новых методов, подходов и алгоритмов обработки заявок заказчика [15].

1.1.2. Модель взаимодействия участников процесса сопровождения со стороны заказчика и поставщика

Отношения между поставщиком и заказчиком IT-услуг или программных продуктов имеют определенную модель взаимодействия. Цель этой модели заключается в выстраивании долгосрочного и эффективного сотрудничества компании поставщика и заказчика. На Рисунке 2 изображена общая схема такого взаимодействия для большинства предприятий.

Рисунок 2 - Общая схема взаимодействия участников рабочего процесса на этапе

сопровождения ПО

После того, как поставщик внедрил свой программный продукт в систему заказчика, начинается этап эксплуатации и сопровождения. На данном этапе у сотрудников компании заказчика могут появляться вопросы по использованию нового программного продукта, а также они могут сообщать о найденных в программе дефектах. Кроме того, заказчик может попросить поставщика внести программные модификации в соответствии с изменяющимися потребностями пользователей.

Как правило, в процессе сопровождения ПО сотрудники компании заказчика обращаются в свой локальный отдел технической поддержки, который формирует запрос на решение возникшей проблемы в компанию поставщика. Такие запросы проходят ступенчатую обработку на стороне поставщика ПО. Каждая такая ступень называется линией поддержки. Принято выделять 3 такие линии.

В среднем по различным предприятиям первая линия решает около 15% запросов, вторая линия - примерно 75%, а третья - оставшиеся 10%. При этом функции первой и второй линии технической поддержки могут быть переданы сторонним организациям.

Первая линия поддержки занимается приемом обращений от клиентов и дальнейшей их передачей техническим специалистам. Для обработки поступающих заявок от пользователей используются Service Desk системы [16]. Услуги Service Desk могут предоставляться омниканально по телефону, через мессенджеры, через веб-портал самообслуживания или по электронной почте. Специалисты Service Desk системы могут проконсультировать клиента по вопросам эксплуатации продукта. В случае более комплексных проблем заявка передается на вторую линию поддержки.

Вторая линия сопровождения представлена инженерами технической поддержки. Они более глубоко погружены в технические детали использования программного продукта и могут помочь в настройке, устранении ошибок в работе ПО, могут включать и выключать определенные функциональности для клиентов. Запросы потребителя услуг, которые в силу недостаточной экспертизы не смогли решить инженеры технической поддержки, переходят на третью линию поддержки.

Третья линия состоит из инженеров-разработчиков, которые занимаются самыми сложными запросами с точки зрения трудоемкости поиска их решения. На данном этапе для хранения и обработки запросов, полученных от предыдущих линий поддержки, используются системы отслеживания ошибок. Существует множество систем отслеживания ошибок, но структура запроса в таких системах обладает схожими чертами (см. пункт 1.1.3).

Как правило, запросами на третьей линии поддержки занимается не весь коллектив разработчиков, а лишь некоторые из них (дежурные). Данная роль ротируется по правилам, принятым в команде или на уровне организации. В обязанности дежурного входит мониторинг сервисов, своевременное их обслуживание и оперативное реагирование на возникающие проблемы и запросы клиентов. Дежурный всецело занят вопросами сопровождения и у него обычно не остается времени на разработку программного продукта. Снизив нагрузку на сопровождение, можно рассчитывать на то, что разработчик будет больше времени тратить на развитие продукта [17].

Запросы на третьей линии требуют наибольших затрат по времени для их решения, следовательно, необходимо снизить трудоемкость обработки таких запросов за счет применения интеллектуальных подходов к анализу неформализованных текстовых данных запросов и генерации отчета с рекомендациями на основе обращения [18]. Для этого необходимо понять с какими проблемами чаще всего сталкиваются инженеры. Актуальные вопросы, которые возникают на последних линиях поддержки:

• Как найти похожую уже решенную проблему в системе?

• Как найти инженера с соответствующей экспертизой в области, в которой случилась проблема?

• Как быстро и эффективно найти документацию, описывающую проблемную область?

• Какие действия предпринять для решения проблемы?

• Каких данных не хватает для решения? (документы, логи, скриншоты и т. д.)

• Как быстро отфильтровать запросы, в которых проблема решилась, и сконцентрироваться на тех, где необходима работа?

Решив эти вопросы, можно добиться существенного снижения трудоемкости обработки запросов заказчиков [19]. Снижение трудоемкости в перспективе может дать положительный экономический эффект за счет двух факторов - сокращение количества вовлеченных в процесс сопровождения людей, а также повышение качества сотрудничества между компанией-поставщиком и компанией-потребителем программного продукта.

1.1.3. Общая структура запроса заказчика в системах обработки заявок

Главным компонентом информационных систем службы поддержки является база данных, содержащая сведения о приходящих запросах. Запрос - это специальный документ, имеющий определенную структуру, которая отличается в зависимости от информационной системы, в которой этот запрос заведен. Структура запроса может различаться в разных системах, но набор информационных полей представленный ниже есть в большинстве из них:

• номер (идентификатор);

• название;

• короткое описание проблемы;

• описание шагов для воспроизведения дефекта;

• создатель запроса (как правило, инженер технической поддержки);

• исполнитель запроса (как правило, дежурный программист-разработчик);

• дата и время обнаружения проблемы;

• версия продукта, в которой обнаружилась проблема;

• версия продукта, в которой проблема исправлена;

• серьёзность (критичность) проблемы и приоритет решения;

• сложность решения проблемы;

• ожидаемый результат и фактический результат;

• обсуждение возможных решений и их последствий в комментариях;

• текущее состояние (статус) решения запроса.

Развитые информационные системы также предоставляют возможность прикреплять различные файлы, помогающие описать проблему (например, дампы памяти, скриншоты, видеозаписи воспроизведения проблемы или файлы логов). Кроме того, есть функционал для связывания запросов между собой и определения отношений между этими двумя запросами, например, когда один из них блокирует выполнение другого.

Похожие диссертационные работы по специальности «Другие cпециальности», 00.00.00 шифр ВАК

Список литературы диссертационного исследования кандидат наук Ковалев Артем Дмитриевич, 2023 год

Список литературы

[1] Leondes C.T. (ed.). Intelligent Systems: Technology and Applications, Six Volume Set. - CRC Press, 2018. - Т. 2., С. 184.

[2] Shylesh S.A study of software development life cycle process models // National Conference on Reinventing Opportunities in Management, IT, and Social Sciences. - 2017. - С. 534-541. DOI: 10.2139/ssrn.2988291.

[3] ГОСТ Р ИСО/МЭК 12207-2010 Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств. -М. : Стандартинформ, 2011. - 105 с.

[4] ISO/IEC 12207:2008 System and software engineering - Software life cycle processes. - 2008. - 123 с.

[5] ГОСТ Р ИСО/МЭК 14764-2002 Информационная технология. Сопровождение программных средств. - М. : ИПК Издательство стандартов, 2002. - 32 с.

[6] ISO/IEC 14764:99 Information tehnology - Software maintenance. - 1999. -

38 с.

[7] IEEE 1219 Standard for Software Maintenance. - 1998. - 56 c.

[8] Мезенцев К.Н. Автоматизированные информационные системы : учебное пособие. - М.: Издательский центр «Академия», 2013. - C. 57-58.

[9] Carr M., Wagner C.A study of reasoning processes in software maintenance management // Information Technology and Management. - 2002. - Т. 3. - №. 1. - С. 181-203. DOI: 10.1023/A:1013125112217.

[10] Sneed H.M. Software Maintenance Cost Estimation // Advances in Software Maintenance Management: Technologies and Solutions. - IGI Global, 2003. - С. 201227. DOI: 10.4018/978-1-59140-047-9.ch008.

[11] Buchmann I., Frischbier S., Putz D. Towards an estimation model for software maintenance costs // 2011 15th European Conference on Software Maintenance and Reengineering. - IEEE, 2011. - С. 313-316. DOI: 10.1109/CSMR.2011.45.

[12] Concas G., Lunesu M. I., Marchesi M., Zhang H. Simulation of software maintenance process, with and without a work-in-process limit // Journal of Software: Evolution and Process. - 2013. - Т. 25. - №. 12. - С. 1225-1248. DOI: 10.1002/smr.1599.

[13] Umudova S. Analysis of software maintenance phases // Noble International Journal of Scientific Research. - 2019. - Т. 3. - №. 6. - С. 62-66.

[14] Ogheneovo E.E. On the relationship between software complexity and maintenance costs // Journal of Computer and Communications. - 2014. - Т. 2. - №. 14. - С. 1. DOI: 10.4236/jcc.2014.214001.

[15] Kovalev A.D., Sheremetov S.D., Nikiforov I.V. Algorithm for Searching Semantically Related Jira Issues to Automate Customer Requests Resolving // Cyber-Physical Systems and Control. - 2020. - С. 83-94.

[16] Двойнишников Н.А., Щипанов К.А. Разработка программного обеспечения для автоматизации работы службы технической поддержки пользователей // Теплотехника и информатика в образовании, науке и производстве (ТИМ'2021). - Екатеринбург, 2021. - 2021. - С. 223-227.

[17] Sokolova A., Safronov D., Stonozhenko K., Solomonov M., Nikiforov I., Kovalev A. Artificial Intelligence Methods for Services and Product Sustaining Phase // Conference of Open Innovations Association, FRUCT. - 2021. - №. 28. - С. 645-651.

[18] Соколова А.Е., Соломонов М.С., Ковалев А.Д., Никифоров И.В. Использование методов машинного обучения на этапе обслуживания программного продукта // Современные технологии в теории и практике программирования. - 2020. - С. 129-131.

[19] Литвинов М.Б., Воинов Н.В. Система интеллектуального анализа заявок пользователей телекоммуникационных услуг // Современные технологии в теории и практике программирования. - 2020. - С. 159-159.

[20] Filion L., Daviot N., Le Bel J., Gagnon M. Using Atlassian tools for efficient requirements management: An industrial case study // 2017 Annual IEEE International Systems Conference (SysCon). - IEEE, 2017. - С. 1-6. DOI: 10.1109/SYSœN.2017.7934769.

[21] AbuSalim S. W., Ibrahim R., Mostafa S. A., Wahab J. A. Analyzing the Impact of Assessing Requirements Specifications on the Software Development Life Cycle // International Conference on Computational Science and Its Applications. -Springer, Cham, 2020. - С. 632-648. DOI: 10.1007/978-3-030-58817-5_46.

[22] Kapur R., Sodhi B. Towards a Knowledge warehouse and expert system for the automation of SDLC tasks // 2019 IEEE/ACM International Conference on Software and System Processes (ICSSP). - IEEE, 2019. - С. 5-8. DOI: 10.1109/ICSSP.2019.00011.

[23] Anthony A.R.V., Prasad G.D., Randunuge S.U., Alahakoon, S.R.A.M.P.A., Wijendra D.R., Krishara J. Software Development Automation: An Approach to Automate the Processes of SDLC // International Journal of Computer Applications. - Т. 975. - С. 8887.

[24] Wijendra D.R., Hewagamage K.P. Software Complexity Reduction through the Process Automation in Software Development Life Cycle // 2021 Fourth International Conference on Electrical, Computer and Communication Technologies (ICECCT). -IEEE, 2021. - С. 1-7. DOI: 10.1109/ICECCT52121.2021.9616781.

[25] Yanuarifiani A.P., Chua F.F., Chan G.Y. Feasibility Analysis of a Rule-Based Ontology Framework (ROF) for Auto-Generation of Requirements Specification // 2020 IEEE 2nd International Conference on Artificial Intelligence in Engineering and Technology (IICAIET). - IEEE, 2020. - С. 1-6. DOI: 10.1109/IICAIET49801.2020.9257838.

[26] Kemppainen S. The Impacts of Automating Manual Processes in Software Maintenance: A Case Study // Unpublished master's thesis. University of Oulu. - 2020.

[27] Калиниченко А.В. Диалоговый метод автоматизации поиска семантически похожих документов // Вестник Воронежского государственного технического университета. - 2012. - Т. 8. - №. 8. - С. 15-17.

[28] Уманец Е.П., Кармазин В.Н., Рыбальченко О.В. Рекомендательная система на основе векторного представления текстов массмедиа (на примере текстов блог-платформы "Живой журнал") // Электронный сетевой политематический журнал "Научные труды КубГТУ". - 2019. - №. 2. - С. 605-616.

[29] Горбунов А.В., Генин Б.Л., Золкин Д.С., Киселев С.Л. Опыт использования методов искусственного интеллекта для повышения качества поиска "похожих" документов в системе патентного поиска для экспертизы изобретений // Роль интеллектуальной собственности в прорывном научно-технологическом развитии общества. - 2018. - С. 17-19.

[30] Runeson P., Alexandersson M., Nyholm O. Detection of duplicate defect reports using natural language processing // 29th International Conference on Software Engineering (ICSE'07). - IEEE, 2007. - С. 499-510. DOI: 10.1109/ICSE.2007.32.

[31] Wang X., Zhang L., Xie T., Anvik J., Sun J. An approach to detecting duplicate bug reports using natural language and execution information // Proceedings of the 30th international conference on Software engineering. - 2008. - С. 461-470. DOI: 10.1145/1368088.1368151.

[32] Sun C., Lo D., Wang X., Jiang J., Khoo S.C. A discriminative model approach for accurate duplicate bug report retrieval // 2010 ACM/IEEE 32nd International Conference on Software Engineering. - IEEE, 2010. - Т. 1. - С. 45-54. DOI: 10.1145/1806799.1806811.

[33] Mahfoodh H., Hammad M. Word2Vec Duplicate Bug Records Identification Prediction Using Tensorflow // 2020 International Conference on Innovation and Intelligence for Informatics, Computing and Technologies (3ICT). - IEEE, 2020. - С. 16. DOI: 10.1109/3ICT51146.2020.9311954.

[34] Al-Batlaa A., Abdullah-Al-Wadud M., Anwar M. A method to suggest solutions for software bugs // 2019 Joint 8th International Conference on Informatics, Electronics & Vision (ICIEV) and 2019 3rd International Conference on Imaging, Vision & Pattern Recognition (icIVPR). - IEEE, 2019. - С. 169-172. DOI: 10.1109/ICIEV.2019.8858514.

[35] Nguyen A.T., Nguyen T.T., Nguyen T.N., Lo D., Sun C. Duplicate bug report detection with a combination of information retrieval and topic modeling // 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering. - IEEE, 2012. - С. 70-79. DOI: 10.1145/2351676.2351687.

[36] Wei X., Croft W.B. LDA-based document models for ad-hoc retrieval // Proceedings of the 29th annual international ACM SIGIR conference on Research and development in information retrieval. - 2006. - С. 178-185. DOI: 10.1145/1148170.1148204.

[37] Jiang Z., El-Jaroudi A., Hartmann W., Karakos D., Zhao L. Cross-lingual Information Retrieval with BERT // Proceedings of the workshop on Cross-Language Search and Summarization of Text and Speech (CLSSTS2020). - 2020. - С. 26-31.

[38] Galke L., Saleh A., Scherp A. Word embeddings for practical information retrieval // INFORMATIK 2017. - 2017.

[39] Kang L. Automated Duplicate Bug Reports Detection-An Experiment at Axis Communication AB. - 2017.

[40] Sun C., Lo D., Khoo S.C., Jiang J. Towards more accurate retrieval of duplicate bug reports // 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011). - IEEE, 2011. - С. 253-262. DOI: 10.1109/ASE.2011.6100061.

[41] Aggarwal K., Timbers F., Rutgers T., Hindle A., Stroulia E., Greiner R. Detecting duplicate bug reports with software engineering domain knowledge // Journal of Software: Evolution and Process. - 2017. - Т. 29. - №. 3. - С. e1821. DOI: 10.1002/smr.1821.

[42] Ковалев А.Д., Никифоров И.В., Дробинцев П.Д. Автоматизированный подход к обнаружению семантически близких запросов заказчика в системе отслеживания ошибок Jira // Современная наука: актуальные проблемы теории и практики. Серия: Естественные и технические науки. - 2021. - №. 5-2. - С. 61-67. DOI: 10.37882/2223-2966.2021.05-2.15.

[43] Кузина О.В., Савина О.А. Разработка программной системы планирования деятельности фирмы по сопровождению программного обеспечения // Концепция "общества знаний" в современной науке. - 2018. - С. 28-30.

[44] Jonsson L., Borg M., Broman D., Sandahl K., Eldh S., Runeson P. Automated bug assignment: Ensemble-based machine learning in large scale industrial contexts // Empirical Software Engineering. - 2016. - Т. 21. - №. 4. - С. 1533-1578.

[45] Sun X., Yang H., Leung H., Li B., Li H. J., Liao L. Effectiveness of exploring historical commits for developer recommendation: an empirical study // Frontiers of Computer Science. - 2018. - T. 12. - №. 3. - C. 528-544. DOI: 10.1007/s11704-016-6023-3.

[46] Yang H., Sun X., Li B., Duan Y. DR_PSF: Enhancing developer recommendation by leveraging personalized source-code files // 2016 IEEE 40th Annual Computer Software and Applications Conference (COMPSAC). - IEEE, 2016. - T. 1. -C. 239-244. DOI: 10.1109/C0MPSAC.2016.101.

[47] Anvik J., Hiew L., Murphy G. C. Who should fix this bug? // Proceedings of the 28th international conference on Software engineering. - 2006. - C. 361-370. DOI: 10.1145/1134285.1134336.

[48] Jeong G., Kim S., Zimmermann T. Improving bug triage with bug tossing graphs // Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering. - 2009. - C. 111-120. DOI: 10.1145/1595696.1595715.

[49] Tamrawi A., Nguyen T.T., Al-Kofahi J.M., Nguyen T.N. Fuzzy set and cache-based approach for bug triaging // Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering. - 2011. - C. 365-375. DOI: 10.1145/2025113.2025163.

[50] Mian T.S. Automation of Bug-Report Allocation to Developer using a Deep Learning Algorithm // 2021 International Congress of Advanced Technology and Engineering (ICOTEN). - IEEE, 2021. - C. 1-7. DOI: 10.1109/ICOTEN52080.2021.9493515.

[51] Gupta C., Freire M.M. A decentralized blockchain oriented framework for automated bug assignment // Information and Software Technology. - 2021. - T. 134. -C. 106540. DOI: 10.1016/j.infsof.2021.106540.

[52] Badashian A.S. Realistic bug triaging // 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C). - IEEE, 2016. - C. 847-850.

[53] Su Y., Xing Z., Peng X., Xia X., Wang C., Xu X., Zhu L. Reducing Bug Triaging Confusion by Learning from Mistakes with a Bug Tossing Knowledge Graph //

2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE). - IEEE, 2021. - C. 191-202. DOI: 10.1109/ASE51524.2021.9678574.

[54] Xuan J., Jiang H., Ren Z., Zou W. Developer prioritization in bug repositories // 2012 34th International Conference on Software Engineering (ICSE). - IEEE, 2012. -C. 25-35. DOI: 10.1109/ICSE.2012.6227209.

[55] Sharma M., Tandon A., Kumari M., Singh V.B. Reduction of redundant rules in association rule mining-based bug assignment // International Journal of Reliability, Quality and Safety Engineering. - 2017. - T. 24. - №. 06. - C. 1740005. DOI: 10.1142/S0218539317400058.

[56] Bhattacharya P., Neamtiu I., Shelton C.R. Automated, highly-accurate, bug assignment using machine learning and tossing graphs // Journal of Systems and Software. - 2012. - T. 85. - №. 10. - C. 2275-2292. DOI: 10.1016/j.jss.2012.04.053.

[57] Anvik J. Automating bug report assignment // Proceedings of the 28th international conference on Software engineering. - 2006. - C. 937-940. DOI: 10.1145/1134285.1134457.

[58] Xuan J., Jiang H., Ren Z., Yan J., Luo Z. Automatic bug triage using semi-supervised text classification // arXiv preprint arXiv:1704.04769. - 2017. DOI: 10.48550/arXiv.1704.04769.

[59] Mani S., Sankaran A., Aralikatte R. Deeptriage: Exploring the effectiveness of deep learning for bug triaging // Proceedings of the ACM India joint international conference on data science and management of data. - 2019. - C. 171-179. DOI: 10.1145/3297001.3297023.

[60] Baloch M.Z., Hussain S., Afzal H., Mufti M.R., Ahmad B. Software Developer Recommendation in Terms of Reducing Bug Tossing Length // International Conference on Security, Privacy and Anonymity in Computation, Communication and Storage. - Springer, Cham, 2020. - C. 396-407. DOI: 10.1007/978-3-030-68851-6_29.

[61] Xia X., Lo D., Ding Y., Al-Kofahi J.M., Nguyen T.N., Wang X. Improving automated bug triaging with specialized topic model // IEEE Transactions on Software Engineering. - 2016. - T. 43. - №. 3. - C. 272-297. DOI: 10.1109/TSE.2016.2576454.

[62] Bortis G., Van Der Hoek A. Porchlight: A tag-based approach to bug triaging // 2013 35th International Conference on Software Engineering (ICSE). - IEEE, 2013. -C. 342-351. DOI: 10.1109/ICSE.2013.6606580.

[63] Alenezi M., Magel K., Banitaan S. Efficient Bug Triaging Using Text Mining // J. Softw. - 2013. - T. 8. - №. 9. - C. 2185-2190.

[64] Dedik V., Rossi B. Automated bug triaging in an industrial context // 2016 42th Euromicro Conference on Software Engineering and Advanced Applications (SEAA). - IEEE, 2016. - C. 363-367. DOI: 10.1109/SEAA.2016.20.

[65] Xi S.Q., Yao Y., Xiao X.S., Xu F., Lv J. Bug triaging based on tossing sequence modeling // Journal of Computer Science and Technology. - 2019. - T. 34. -№. 5. - C. 942-956. DOI: 10.1007/s11390-019-1953-5.

[66] Sarkar A., Rigby P.C., Bartalos B. Improving bug triaging with high confidence predictions at ericsson // 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME). - IEEE, 2019. - C. 81-91. DOI: 10.1109/ICSME.2019.00018.

[67] Kovalev A., Voinov N., Nikiforov I. Using the Doc2Vec algorithm to detect semantically similar jira issues in the process of resolving customer requests // Studies In Computational Intelligence. - Springer, Cham, 2020. - T. 868, C. 96-101. DOI: 10.1007/978-3-030-32258-8_11.

[68] Valdivia-Garcia H., Shihab E., Nagappan M. Characterizing and predicting blocking bugs in open source projects // Journal of Systems and Software. - 2018. - T. 143. - C. 44-58. DOI: 10.1016/j.jss.2018.03.053.

[69] Tan L., Liu C., Li Z., Wang X., Zhou Y., Zhai C. Bug characteristics in open source software //Empirical software engineering. - 2014. - T. 19. - №. 6. - C. 16651705. DOI: 10.1007/s10664-013-9258-8.

[70] Zhou C., Li B., Sun X., Bo L. Why and what happened? Aiding bug comprehension with automated category and causal link identification // Empirical Software Engineering. - 2021. - T. 26. - №. 6. - C. 1-36. DOI: 10.1007/s10664-021-10010-8.

[71] Herbold S., Trautsch A., Trautsch F. On the feasibility of automated prediction of bug and non-bug issues // Empirical Software Engineering. - 2020. - T. 25. - №. 6. -C. 5333-5369. DOI: 10.1007/s10664-020-09885-w.

[72] Nafi K.W., Roy B., Roy C.K., Schneider K.A. A universal cross language software similarity detector for open source software categorization // Journal of Systems and Software. - 2020. - T. 162. - C. 110491. DOI: 10.1016/j.jss.2019.110491.

[73] Umer Q., Liu H., Sultan Y. Emotion based automated priority prediction for bug reports // IEEE Access. - 2018. - T. 6. - C. 35743-35752. DOI: 10.1109/ACCESS.2018.2850910.

[74] Li X., Jiang H., Liu D., Ren Z., Li G. Unsupervised deep bug report summarization // Proceedings of the 26th Conference on Program Comprehension. -2018. - C. 144-155. DOI: 10.1145/3196321.3196326.

[75] Tarar M.I.N., Ahmed F., Butt W.H. Automated Summarization of Bug Reports to speed-up software development/maintenance process by using Natural Language Processing (NLP) // 2020 15th International Conference on Computer Science & Education (ICCSE). - IEEE, 2020. - C. 483-488. DOI: 10.1109/ICCSE49874.2020.9201846.

[76] Bo L., Lu J. Bug Question Answering with Pretrained Encoders // 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER). - IEEE, 2021. - C. 654-660. DOI: 10.1109/SANER50967.2021.00083.

[77] Wang H., Xia X., Lo D., Grundy J., Wang X. Automatic solution summarization for crash bugs // 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE). - IEEE, 2021. - C. 1286-1297. DOI: 10.1109/ICSE43902.2021.00117.

[78] Jindal S.G., Kaur A. Automatic keyword and sentence-based text summarization for software bug reports // IEEE Access. - 2020. - T. 8. - C. 65352-65370. DOI: 10.1109/ACCESS.2020.2985222.

[79] Rastkar S., Murphy G.C., Murray G. Summarizing software artifacts: a case study of bug reports // 2010 ACM/IEEE 32nd International Conference on Software Engineering. - IEEE, 2010. - T. 1. - C. 505-514. DOI: 10.1145/1806799.1806872.

[80] D'Ambros M., Lanza M., Robbes R. An extensive comparison of bug prediction approaches // 2010 7th IEEE working conference on mining software repositories (MSR 2010). - IEEE, 2010. - C. 31-41. DOI: 10.1109/MSR.2010.5463279.

[81] Almhana R., Mkaouer W., Kessentini M., Ouni A. Recommending relevant classes for bug reports using multi-objective search // 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE). - IEEE, 2016. - C. 286-295.

[82] Chaparro O. Improving bug reporting, duplicate detection, and localization // 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C). - IEEE, 2017. - C. 421-424. DOI: 10.1109/ICSE-C.2017.27.

[83] Shokripour R., Anvik J., Kasirun Z. M., Zamani S. Why so complicated? simple term filtering and weighting for location-based bug report assignment recommendation // 2013 10th Working Conference on Mining Software Repositories (MSR). - IEEE, 2013. - C. 2-11. DOI: 10.1109/MSR.2013.6623997.

[84] Youm K.C., Ahn J., Kim J., Lee E. Bug localization based on code change histories and bug reports // 2015 Asia-Pacific Software Engineering Conference (APSEC). - IEEE, 2015. - C. 190-197. DOI: 10.1109/APSEC.2015.23.

[85] Mills C., Pantiuchina J., Parra E., Bavota G., Haiduc S. Are bug reports enough for text retrieval-based bug localization? // 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME). - IEEE, 2018. - C. 381-392. DOI: 10.1109/ICSME.2018.00046.

[86] Swe K.E.E., Oo H.M. Bug Localization Approach Based on Similar Bug Report, Stack Trace and Source Code Structure // 2017 27th International Conference on Computer Theory and Applications (ICCTA). - IEEE, 2017. - C. 57-62. DOI: 10.1109/ICCTA43079.2017.9497154.

[87] Rahman M.M., Roy C. Poster: improving bug localization with report quality dynamics and query reformulation // 2018 IEEE/ACM 40th International Conference on Software Engineering: Companion (ICSE-Companion). - IEEE, 2018. - C. 348-349.

[88] Dao T., Zhang L., Meng N. How does execution information help with information-retrieval based bug localization? // 2017 IEEE/ACM 25th International

Conference on Program Comprehension (ICPC). - IEEE, 2017. - C. 241-250. DOI: 10.1109/ICPC.2017.29.

[89] Saha R.K., Lease M., Khurshid S., Perry D.E. Improving bug localization using structured information retrieval // 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE). - IEEE, 2013. - C. 345-355. DOI: 10.1109/ASE.2013.6693093.

[90] Zhou J., Zhang H., Lo D. Where should the bugs be fixed? more accurate information retrieval-based bug localization based on bug reports // 2012 34th International Conference on Software Engineering (ICSE). - IEEE, 2012. - C. 14-24. DOI: 10.1109/ICSE.2012.6227210.

[91] Ebert F. From Transient Information to Persistent Documentation: Enhancing Software Documentation // 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME). - IEEE, 2020. - C. 849-853. DOI: 10.1109/ICSME46990.2020.00108.

[92] Dasgupta T., Grechanik M., Moritz E., Dit B., Poshyvanyk D. Enhancing software traceability by automatically expanding corpora with relevant documentation // 2013 IEEE International Conference on Software Maintenance. - IEEE, 2013. - C. 320329. DOI: 10.1109/ICSM.2013.43.

[93] Sondhi D., Gupta A., Purandare S., Rana A., Kaushal D., Purandare R. On Indirectly Dependent Documentation in the Context of Code Evolution: A Study // 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE). - IEEE, 2021. - C. 1498-1509. DOI: 10.1109/ICSE43902.2021.00134.

[94] Aghajani E. Context-Aware Software Documentation // 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME). - IEEE, 2018. - C. 727-731. DOI: 10.1109/ICSME.2018.00090.

[95] Aghajani E., Nagy C., Vega-Márquez O. L., Linares-Vásquez M., Moreno L., Bavota G., Lanza M. Software documentation issues unveiled // 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE). - IEEE, 2019. - C. 11991210. DOI: 10.1109/ICSE.2019.00122.

[96] Aghajani E., Nagy C., Linares-Vásquez M., Moreno L., Bavota G., Lanza M., Shepherd D.C. Software documentation: the practitioners' perspective // 2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE). - IEEE, 2020. - С. 590601.

[97] Luciv D.V., Koznov D.V., Chernishev G.A., Terekhov A.N., Romanovsky K.Y., Grigoriev D.A. Detecting near duplicates in software documentation // Programming and Computer Software. - 2018. - Т. 44. - №. 5. - С. 335-343. DOI: 10.1134/S0361768818050079.

[98] Al Omran F.N. A., Treude C. Choosing an NLP library for analyzing software documentation: a systematic literature review and a series of experiments // 2017 IEEE/ACM 14th international conference on mining software repositories (MSR). -IEEE, 2017. - С. 187-197. DOI: 10.1109/MSR.2017.42.

[99] Liu M., Peng X., Meng X., Xu H., Xing S., Wang X., Lv G. Source code based on-demand class documentation generation // 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME). - IEEE, 2020. - С. 864-865. DOI: 10.1109/ICSME46990.2020.00114.

[100] Koznov D.V., Luciv D.V., Chernishev G.A. Duplicate management in software documentation maintenance // CEUR Workshop Proceedings. - RWTH Aahen University, 2017. - Т. 1989. - С. 195-201.

[101] Ковалев А.Д., Никифоров И.В., Дробинцев П.Д. Автоматизированный подход к семантическому поиску по программной документации на основе алгоритма Doc2Vec // Информационно-управляющие системы. - 2021. - №. 1. - С. 17-27. DOI: 10.31799/1684-8853-2021-1-17-27.

[102] Соколова А.Е., Соломонов М.С., Ковалев А.Д., Никифоров И.В. Поиск по документации в системе автоматизации решения запросов заказчика // Неделя Науки СПбПУ. - 2019. - С. 87-90.

[103] Крайнов А.Ю., Смагин А.А. Разработка комплекса анализа ошибок в корпоративных информационных системах // Известия Самарского научного центра Российской академии наук. - 2013. - Т. 15. - №. 4-3. - С. 688-692.

[104] Juan-Song S., Bin-Wang H. Development and implementation of a university research management information system based on rule engine // 2011 International Conference on E-Business and E-Government (ICEE). - IEEE, 2011. - С. 1-4. DOI: 10.1109/ICEBEG.2011.5882575.

[105] Chen L., Dong X., Yang Z. Research of modern enterprise intelligent system based on rule engine and workflow // 2010 IEEE International Conference on Intelligent Computing and Intelligent Systems. - IEEE, 2010. - Т. 1. - С. 594-597. DOI: 10.1109/ICICISYS.2010.5658451.

[106] Qiu L., Lu G., Li A., Sun Y. Automated keys to soil orders based on rule engine // Geoinformatics 2008 and Joint Conference on GIS and Built Environment: Advanced Spatial Data Models and Analyses. - International Society for Optics and Photonics, 2008. - Т. 7146. - С. 71461X.

[107] De Ley E., Jacobs D. Rules-based analysis with JBoss Drools: adding intelligence to automation // Proceedings of ICALEPCS 2011. - 2011. - С. 790-793.

[108] Qu K., Gong T., Shao J. Design and implementation of system generator based on rule engine //Procedia Computer Science. - 2020. - Т. 166. - С. 517-522. DOI: 10.1016/j.procs.2020.02.054.

[109] Valdez A., Oktaba H., Gómez H., Vizcaíno A. Sentiment analysis in jira software repositories //2020 8th International Conference in Software Engineering Research and Innovation (CONISOFT). - IEEE, 2020. - С. 254-259. DOI: 10.1109/CONISOFT50191.2020.00043.

[110] Rath M., Mader P. Request for comments: Conversation patterns in issue tracking systems of open-source projects // Proceedings of the 35th Annual ACM Symposium on Applied Computing. - 2020. - С. 1414-1417. DOI: 10.1145/3341105.3374056.

[111] Ковалев А.Д., Никифоров И.В., Дробинцев П.Д. Интеллектуальная обработка запросов заказчика на этапе сопровождения программного продукта // Неделя Науки СПбПУ. - 2019. - С. 165-168.

[112] Bhagdev R., Chapman S., Ciravegna F., Lanfranchi V., Petrelli D. Hybrid search: Effectively combining keywords and semantic searches // European semantic web

conference. - Springer, Berlin, Heidelberg, 2008. - С. 554-568. DOI: 10.1007/978-3-540-68234-9_41.

[113] Vo N.P.A., Guillot F., Privault C. Disco: A system leveraging semantic search in document review // Proceedings of COLING 2016, the 26th International Conference on Computational Linguistics: System Demonstrations. - 2016. - С. 64-68.

[114] Mangold C. A survey and classification of semantic search approaches // International Journal of Metadata, Semantics and Ontologies. - 2007. - Т. 2. - №. 1. - С. 23-34.

[115] Новикова Ю.С., Терещенко Д.Ю., Поляков С.Е., Самойлов А.Н. Семантическая поисковая система на основе отображения онтологии // Политематический сетевой электронный научный журнал Кубанского государственного аграрного университета. - 2017. - №. 133. - С. 151-159. DOI: 10.21515/1990-4665-133-014.

[116] Рогушина Ю.В. Использование онтологической модели при семантическом поиске информационных объектов // Онтология проектирования. -2015. - Т. 5. - №. 3 (17). - С. 336-356. DOI: 10.18287/2223-9537-2015-5-3-336-356.

[117] Jain R., Duhan N., Sharma A.K. Comparative study on semantic search engines // International Journal of Computer Applications. - 2015. - Т. 131. - №. 14. -С. 4-11.

[118] Путилов Г.П., Лебедев А.С. Создание автоматических тестов по текстовым пользовательским сообщениям средствами системы Nalaps // Материалы ежегодной Международной конференции" Диалог. - 2020. - С. 2010.

[119] Oberhauser R., Schmidt R. Towards a Holistic Integration of Software Lifecycle Processes Using the Semantic Web // ICSOFT (ISDM/EHST/DC). - 2007. -С. 137-144.

[120] Makela E. Survey of semantic search research // Proceedings of the seminar on knowledge management on the semantic web. - Department of Computer Science, University of Helsinki, Helsinki, 2005.

[121] Gomaa W.H., Fahmy A.A.A survey of text similarity approaches // International journal of Computer Applications. - 2013. - Т. 68. - №. 13. - С. 13-18.

[122] Baroni M., Dinu G., Kruszewski G. Don't count, predict! a systematic comparison of context-counting vs. context-predicting semantic vectors // Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). - 2014. - C. 238-247.

[123] Hill F., Cho K., Korhonen A. Learning Distributed Representations of Sentences from Unlabelled Data // Proceedings of NAACL-HLT. - 2016. - C. 13671377. DOI: 10.48550/arXiv.1602.03483.

[124] Conneau A., Kiela D., Schwenk H., Barrault L., Bordes A. Supervised Learning of Universal Sentence Representations from Natural Language Inference Data // Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing. - 2017. - C. 670-680. DOI: 10.48550/arXiv.1705.02364.

[125] Reimers N., Gurevych I. Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks // Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing. - Association for Computational Linguistics, 2019. - C. 671-688. DOI: 10.48550/arXiv.1908.10084.

[126] Pagliardini M., Gupta P., Jaggi M. Unsupervised Learning of Sentence Embeddings Using Compositional n-Gram Features // Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers). - 2018. - C. 528540. DOI: 10.18653/v1/N18-1049.

[127] Lau J.H., Baldwin T. An empirical evaluation of doc2vec with practical insights into document embedding generation // arXiv preprint arXiv:1607.05368. -2016. DOI: 10.48550/arXiv.1607.05368.

[128] Perone C.S., Silveira R., Paula T.S. Evaluation of sentence embeddings in downstream and linguistic probing tasks // arXiv preprint arXiv:1806.06259. - 2018. DOI: 10.48550/arXiv.1806.06259.

[129] Chen M. Efficient vector representation for documents through corruption // arXiv preprint arXiv:1707.02377. - 2017. DOI: 10.48550/arXiv.1707.02377.

[130] Reimers N., Beyer P., Gurevych I. Task-oriented intrinsic evaluation of semantic textual similarity // Proceedings of COLING 2016, the 26th International Conference on Computational Linguistics: Technical Papers. - 2016. - С. 87-96.

[131] Харламов А.А., Гордеев Д.И. Дистрибутивная vs сетевая семантика в диалоговых системах // Проблемы искусственного интеллекта. - 2019. - №. 2 (13). - С. 93-126.

[132] Mikolov T., Sutskever I., Chen K., Corrado G.S., Dean J. Distributed representations of words and phrases and their compositionality // Advances in neural information processing systems. - 2013. - Т. 26.

[133] Huang E.H., Socher R., Manning C.D., Ng A.Y. Improving word representations via global context and multiple word prototypes // Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). - 2012. - С. 873-882.

[134] Яцко В.А. Особенности вычисления косинусной меры смысловой близости документов // Актуальные вопросы теории и практики развития научных исследований: сборник статей Международной научно-практической конференции, Пермь, 14 июля 2020 года. - Уфа: Общество с ограниченной ответственностью "ОМЕГА САЙНС", 2020. - С. 69-75.

[135] Rahman M., Hamada M. Burrows-wheeler transform based lossless text compression using keys and Huffman coding // Symmetry. - 2020. - Т. 12. - №. 10. - С. 1654. DOI: 10.3390/sym12101654.

[136] Mohammed A.A., Umaashankar V. Effectiveness of hierarchical softmax in large scale classification tasks // 2018 International Conference on Advances in Computing, Communications and Informatics (ICACCI). - IEEE, 2018. - С. 1090-1094. DOI: 10.1109/ICACCI.2018.8554637.

[137] Berglund M., van Der Merwe B., van Litsenborgh S. Regular Expressions with Lookahead // J. Univers. Comput. Sci. - 2021. - Т. 27. - №. 1. - С. 324-340. DOI: 10.3897/jucs.66330.

[138] Kadhim A.I. An evaluation of preprocessing techniques for text classification // International Journal of Computer Science and Information Security (IJCSIS). - 2018. - T. 16. - №. 6. - C. 22-32.

[139] Farrar D., Hayes J.H. A comparison of stemming techniques in tracing // 2019 IEEE/ACM 10th International Symposium on Software and Systems Traceability (SST). - IEEE, 2019. - C. 37-44. DOI: 10.1109/SST.2019.00017.

[140] Porter M.F. An algorithm for suffix stripping // Program: electronic library and information systems - 1980. - T. 14. - №. 3. - C. 130-137. DOI: 10.1108/eb046814.

[141] Jones K.S., Willett P. (Eds.). Readings in information retrieval. - Morgan Kaufmann, 1997.

[142] Meyer D. How exactly does word2vec work? // Uoregon. Edu, Brocade. Com. - 2016. - C. 1-18.

[143] Qaiser S., Ali R. Text mining: use of TF-IDF to examine the relevance of words to documents // International Journal of Computer Applications. - 2018. - T. 181. - №. 1. - C. 25-29.

[144] Ayadi W., Elhamzi W., Charfi I., Atri M. A hybrid feature extraction approach for brain MRI classification based on Bag-of-words // Biomedical Signal Processing and Control. - 2019. - T. 48. - C. 144-152. DOI: 10.1016/j.bspc.2018.10.010.

[145] Gunawan D., Sembiring C.A., Budiman M.A. The implementation of cosine similarity to calculate text relevance between two documents // Journal of physics: conference series. - IOP Publishing, 2018. - T. 978. - №. 1. - C. 012120.

[146] Kuhn M., Johnson K. Applied predictive modeling. - New York: Springer, 2013. - T. 26. - C. 64-65, DOI: 10.1007/978-1-4614-6849-3.

[147] Bergstra J., Bengio Y. Random search for hyper-parameter optimization // Journal of machine learning research. - 2012. - T. 13. - №. 2.

Список иллюстративного материала

Рисунок 1 - Трудоемкость этапов жизненного цикла ПО........................................13

Рисунок 2 - Общая схема взаимодействия участников рабочего процесса на

этапе сопровождения ПО.............................................................................................15

Рисунок 3 - Пример запроса в системе отслеживания ошибок Atlassian Jira.........19

Рисунок 4 - Пример запроса в системе отслеживания ошибок JetBrains

YouTrack........................................................................................................................20

Рисунок 5 - Пример запроса в системе отслеживания ошибок Apache Bugzilla.... 20

Рисунок 6 - Жизненный цикл запроса в системах отслеживания ошибок.............22

Рисунок 7 - Жизненный цикл запроса в системе отслеживания ошибок Jira по

умолчанию.....................................................................................................................24

Рисунок 8 - Обработка новых поступивших запросов.............................................25

Рисунок 9 - Обработка запросов, ожидающих ответа от поддержки......................25

Рисунок 10 - Пример графического представления онтологии...............................40

Рисунок 11 - Центральное слово и его локальный контекст....................................54

Рисунок 12 - Архитектура нейронной сети предлагаемого алгоритма

векторизации документов............................................................................................56

Рисунок 13 - Получение вектора слова из матрицы весов между первым и

вторым слоем нейронной сети.....................................................................................57

Рисунок 14 - Предлагаемая концептуальная схема обработки запросов

заказчика на этапе сопровождения ПО.......................................................................60

Рисунок 15 - Концептуальная схема метода 1...........................................................63

Рисунок 16 - Концептуальная схема метода 2...........................................................66

Рисунок 17 - Концептуальная схема метода 3...........................................................69

Рисунок 18 - Концептуальная схема метода 4...........................................................71

Рисунок 19 - Архитектура разработанного программного комплекса....................76

Рисунок 20 - Конфигурация исполнителя обработчиков.........................................77

Рисунок 21 - Схема работы коннектора к системе отслеживания ошибок Jira......79

Рисунок 22 - Конфигурация коннектора к Jira..........................................................80

Рисунок 23 - Схема работы коннектора к системе отслеживания ошибок

Bugzilla ...........................................................................................................................82

Рисунок 24 - Конфигурация коннектора к Bugzilla..................................................82

Рисунок 25 - Схема работы коннектора к базе знаний Confluence..........................83

Рисунок 26 - Конфигурация коннектора к Confluence..............................................84

Рисунок 27 - Схемы работы обработчика похожих запросов..................................86

Рисунок 28 - Конфигурация обработчика похожих запросов..................................88

Рисунок 29 - Схемы работы обработчика локальной документации......................89

Рисунок 30 - Конфигурация обработчика локальной документации......................90

Рисунок 31 - Схемы работы обработчика удаленной документации......................91

Рисунок 32 - Конфигурация обработчика удаленной документации......................92

Рисунок 33 - Схема работы обработчика правил......................................................93

Рисунок 34 - Конфигурация обработчика правил.....................................................95

Рисунок 35 - Схема работы генератора html отчетов...............................................98

Рисунок 36 - Пример сгенерированного html отчета................................................99

Рисунок 37 - Развернутый список похожих запросов и квалифицированных

инженеров в отчете.....................................................................................................100

Рисунок 38 - Конфигурация генератора html отчетов............................................100

Рисунок 39 - Схема работы генератора txt отчетов................................................101

Рисунок 40 - Пример сгенерированного txt отчета.................................................101

Рисунок 41 - Конфигурация генератора txt отчетов...............................................102

Рисунок 42 - Пример набора данных с запросами..................................................104

Рисунок 43 - Пример набора данных со страницами документации....................105

Рисунок 44 - Конфигурация модуля векторизации.................................................106

Рисунок 45 - Схема работы векторизатора в режиме обучения............................107

Рисунок 46 - Схема работы векторизатора в режиме использования...................110

Рисунок 47 - Разбиение набора данных при k-fold кросс-валидации...................115

Рисунок 48 - Исходный запрос..................................................................................116

Рисунок 49 - Поиск в Jira по ключевым словам......................................................117

Рисунок 50 - Отчет с семантически близкими запросами......................................118

Рисунок 51 - Сравнение решенного и нерешенного запросов...............................118

Рисунок 52 - Папка с файлами документации.........................................................119

Рисунок 53 - Ручной поиск по локальным документам.........................................119

Рисунок 54 - Отчет со ссылками на локальную документацию............................120

Рисунок 55 - Найденные страницы локальной документации из отчета..............120

Рисунок 56 - Ключевые слова исходного запроса..................................................121

Рисунок 57 - Ключевые слова найденной страницы локальной документации .. 121

Рисунок 58 - Ручной поиск по базе знаний Confluence..........................................122

Рисунок 59 - Отчет со ссылками на страницы удаленной документации............123

Рисунок 60 - Найденные страницы удаленной документации из отчета..............123

Рисунок 61 - Ключевые слова найденной страницы в базе знаний Confluence ... 124 Рисунок 62 - Правило анализа запроса для проверки прикрепленных файлов.... 124 Рисунок 63 - Правило анализа запроса для проверки назначенного инженера ... 124

Рисунок 64 - Правило анализа запроса для проверки статуса...............................125

Рисунок 65 - Правило анализа запроса для проверки наличия описания.............125

Рисунок 66 - Правило анализа запроса для проверки размера описания.............125

Рисунок 67 - Применение правил обработки запросов..........................................125

Рисунок 68 - Диаграммы, показывающие затраченное в часах время каждым

инженером с помощью ручного и автоматизированного подхода........................128

Рисунок 69 - Диаграмма, отражающая среднее время потраченное ручным и

автоматизированным подходами на обработку одного запроса............................129

Рисунок 70 - Оценка качества работы методов 1, 2 и 4 на основе алгоритма

Doc2VecC.....................................................................................................................130

Рисунок 71 - Оценка качества работы методов 1, 2 и 4 на основе

предложенного алгоритма векторизации.................................................................131

Рисунок 72 - Оценка качества работы метода 3......................................................131

154

Список таблиц

Таблица 1 - Сравнительный обзор Service Desk систем Jira Service Desk,

Zendesk, ServiceNow, BMC..........................................................................................27

Таблица 2 - Сравнительный обзор Service Desk систем Kayako, OTRS,

UserVoice, Freshdesk.....................................................................................................28

Таблица 3 - Сравнительный обзор систем отслеживания ошибок Jira,

Redmine, Mantis, Trac....................................................................................................30

Таблица 4 - Сравнительный обзор систем отслеживания ошибок

Яндекс.Трекер, YouTrack, Bugzilla, Wrike..................................................................31

Таблица 5 - Сравнительный обзор плагинов Find Duplicates, Duplicate AI -Find & Merge Duplicate Issues, Similar Issues Finder, Duplicate Issues Popup -

Jira Cloud........................................................................................................................33

Таблица 6 - Сравнительный обзор плагинов Toolkit Plugin for Jira, Workflow PowerBox automation suite, Automation for Jira, Power Scripts Jira Workflow

Automation, ScriptRunner for Jira..................................................................................34

Таблица 7 - Сравнение эффективности моделей в задачах оценки

семантической схожести документов.........................................................................44

Таблица 8 - Средняя оценка эффективности моделей векторного

представления в задачах поиска семантически близких документов......................46

Таблица 9 - Сравнение алгоритмов Doc2VecC, SBERT и SRoBERTa....................48

Таблица 10 - Пример правил для анализа запросов..................................................69

Таблица 11 - Список настраиваемых гиперпараметров разработанного

алгоритма векторизации документов........................................................................115

Таблица 12 - Характеристики экспериментальных проектов................................126

Приложение A. Дистрибутив программного комплекса

A.1. Сборка дистрибутива

Программный комплекс собирается в единый дистрибутив, размер которого составляет 153 Мб. В нем содержатся все скомпилированные программные модули, скрипты запуска, стандартная конфигурация, правила анализа запросов, файл с параметрами логирования и шаблон для генерации html отчетов.

Создание дистрибутива происходит с помощью инструмента автоматической сборки Gradle 4.632. С помощью данного инструмента можно скачать все зависимости проекта из репозиториев библиотек, а также собрать и запустить проект из исходного кода.

Для сборки проекта необходимо выполнить в консоли команду gradlew build из корневой папки проекта. В этом случае собранный дистрибутив будет располагаться в директории build/distributions. Дистрибутив представлен в двух форматах: tar и zip, при этом их содержимое идентично.

Запуск проекта из исходного кода осуществляется за счет выполнения команды gradlew run. A.2. Содержимое дистрибутива

Дистрибутив программного комплекса обладает Unix-подобной системой директорий. Каждая директория дистрибутива содержит определенные файлы:

• bin - содержит скрипты для формирования наборов данных, обучения векторных моделей и анализа нерешенных запросов;

• config - директория с конфигурационными файлами;

• data - директория с наборами данных и векторными моделями;

• lib - директория, содержащая все библиотеки и модули;

• logs - директория для файлов журналов;

• output - директория для сгенерированных отчетов;

32 https://docs.gradle.org/4.6/userguide/userguide.html

• rules - директория для правил анализа запросов. A.3. Скрипты запуска

Скрипты запуска формируются для двух видов систем: Windows и Unix. Исполняемый скрипт для Windows имеет расширение .bat, а скрипт для Unix не имеет расширения. Запуск скриптов происходит через командную строку операционной системы.

• create-issues-data-set - создание набора данных запросов и запись его в файл IssuesDataSet. txt;

• create-issues-vector-model - обучение алгоритма векторизатора на наборе данных запросов и формирование векторной модели с дальнейшим сохранением в файл Issues _VectorModel.zip;

• create-documentation-data-set - создание набора данных локальной документации и запись его в файл Documentation_DataSet.txt;

• create-documentation-vector-model - обучение алгоритма векторизатора на наборе данных локальной документации и формирование векторной модели с дальнейшим сохранением в файл Documentation_VectorModel.zip;

• create-confluence-data-set - создание набора данных Confluence документации и запись его в файл Confluence_DataSet.txt;

• create-confluence-vector-model - обучение алгоритма векторизатора на наборе данных Confluence документации и формирование векторной модели с дальнейшим сохранением в файл Confluence_VectorModel.zip;

• run - запуск анализа нерешенных запросов.

Первые шесть скриптов используются для первоначальной настройки системы. Для запуска анализа используется скрипт run. A.4. Сценарий использования программного комплекса

Сценарий работы с программным комплексом можно описать в виде следующего последовательного алгоритма.

1. Собрать и распаковать дистрибутив.

2. Произвести настройку с помощью конфигурационных файлов в папке config или использовать стандартные настройки.

3. Создать набор правил анализа запросов и поместить их в папку rules или использовать имеющиеся стандартные правила.

4. Запустить скрипты для создания наборов данных, в зависимости от того какой набор обработчиков включен в конфигурации configuration.yml.

• Если выбран Issues Similarity обработчик, то запустить скрипт create-issues-dataset.

• Если выбран Documentation обработчик, то запустить скрипт create-documentation-dataset.

• Если выбран Confluence обработчик, то запустить скрипт create-confluence-dataset.

5. Запустить скрипты для создания векторных моделей, в зависимости от того какой набор обработчиков включен в конфигурации configuration.yml.

• Если выбран Issues Similarity обработчик, то запустить скрипт create-issues-dataset.

• Если выбран Documentation обработчик, то запустить скрипт create-documentation-dataset.

• Если выбран Confluence обработчик, то запустить скрипт create-confluence-dataset.

6. Запустить скрипт run в командной строке без ключей.

7. В зависимости от того какие генераторы отчетов были включены в папке output появятся отчеты.

После того как были получены отчеты на выходе, дежурный инженер разработчик проверяет каждый пункт в отчете. Пункты в секции рекомендации можно применить в автоматизированном режиме.

Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.