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


Инструментальная поддержка процесса разработки проекта OpenJDK

Работа №126957

Тип работы

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

Предмет

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

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

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


1. Введение 4
2. Постановка задачи 5
3. Обзор 6
3.1. Цикл выпуска OpenJDK 6
3.2. Цикл разработки выпусков обновлений 7
3.3. Перенос исправлений 7
3.4. Аналоги 9
4. Разработка инструментов 12
4.1. Архитектура 12
4.2. Методы автоматизации 12
4.3. Реализация инструментов 15
5. Тестирование 19
Заключение 20
Список литературы 21

Проект OpenJDK представляет собой свободную эталонную реализацию платформы Java SE с открытым исходным кодом. Основная разработка проекта ведется для ’’текущей” версии 1JDK, но дополнительно требуется поддерживать и предыдущие версии платформы для стабильности и безопасности проектов, их использующих. Для этой цели существуют так называемые Update Releases - выпуски обновлений, в которых исправляются ошибки и закрываются уязвимости предшествующих версий OpenJDK.
Но существует проблема: несмотря на хорошо выстроенный и документированный процесс разработки этих выпусков, в нем еще сохраняются части, которые нужно делать вручную [9].
Например, некоторые исправления из основного репозитория переносятся в стабильные релизы ”в лоб”: те же изменения делаются в тех же файлах. Лучше всего это работает с последними версиями JDK, но чем старше поддерживаемый выпуск, тем больше его код будет расходиться с основным репозиторием. Соответственно, растёт вероятность, что исправление потребует больше ручной работы и тестирования, нахождения зависимости переносимого изменения от какого-либо из предыдущих, не интегрированных в целевую версию. Автоматизация этих действий позволила бы ускорить добавление исправлений и упростить процесс внесения изменений для сообщества разработчиков.
Таким образом, данная работа посвящена разработке методов и инструментов для автоматизации частей процесса разработки выпусков обновлений проекта OpenJDK, в частности, процесса переноса исправлений из текущей версии в предшествующие.


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

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

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


В ходе данной работы были получены следующие результаты.
• Проведен обзор процесса разработки OpenJDK.
— Рассмотрен подпроект OpenJDK Updates, с которым связана большая часть работы.
— Выделены области, требующие автоматизации.
— Рассмотрены аналоги нашей системы.
• Реализованы методы для автоматизации нахождения цепочек зависимостей и решения конфликтов слияния.
— Инструменты для нахождения чисто применяемой цепочки зависимостей.
— Инструменты для нахождения цепочки зависимостей с дополнительными изменениями.
— Инструменты, использующие собранные данные и пользовательский ввод.
• Проведено тестирование на специально собранных данных.



[1] JDK Enhancement Proposal 3.— 2022.— URL: https://openjdk.org/jeps/3 (дата обращения: 2022-12-21).
[2] Maintaining stable stability.— 2020.— URL: https://lwn.net/Articles/825536/ (дата обращения: 2023-04-16).
[3] Textual vs. semantic (in)dependence. — 2019.—
URL: https://github.com/aspiers/git-deps/blob/
8cafb5cb1f181a6f220f7ce7f93be711ec160a9b/README.md#textual-vs-semantic-independence (дата обращения: 2023-05-02).
[4] Документация OpenJDK Updates.— 2022.— URL: https://wiki.openjdk.org/display/JDKUpdates/JDK+17u (дата обращения: 2022¬12-21).
[5] Левенштейн В. И. Двоичные коды с исправлением выпадений, вставок и замещений символов // Доклады Академий Наук СССР,. - 1965. - . - Vol. 10. - P. 707.
[6] Обсуждение в проекте SKARA.— 2022.— URL: https://bugs.openjdk.org/browse/SKARA-827 (дата обращения: 2022-12-21).
[7] Обсуждение в рассылке OpenJDK.— 2021.— URL: https:
//mail.openjdk.org/pipermail/jdk-dev/2021-March/005232.html(дата обращения: 2023-02-12).
[8] Рассылка проекта ядра Linux. — 2020. — URL: https:
//lore.kernel.org/lkml/Y%2F79Tfn5kFIItUDD@sol.localdomain/(дата обращения: 2023-04-16).
[9] Руководство по переносу исправления. — 2022. — URL:
https://wiki.openjdk.org/display/JDKUpdates/How+to+contribute+or+backport+a+fix(дата обращения: 2022-12-21).


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



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


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