Семантичний спосіб поєднання версій програмного коду при одночасній розробці програм для підмножини мови Python

dc.contributor.advisorМарченко, Олександр Іванович
dc.contributor.authorВовчок, Олексій Володимирович
dc.date.accessioned2022-01-18T11:46:02Z
dc.date.available2022-01-18T11:46:02Z
dc.date.issued2021
dc.description.abstractenActuality of theme. Currently, software products are created by teams of developers. Usually, each developer is given a separate task, the result of which is a modified software product. Developers work independently and simultaneously, and therefore can make contradictory changes. These changes make it impossible to automatically integrate, regardless of the modifications created into the functionality of the software product. Previous research has shown that such conflicts occur frequently and impair development performance, as understanding and resolving them is a complex and tedious task, and poor performance can lead to product defects. Therefore, the development of special ways to combine versions of software code while developing programs for a subset of Python and their application in practice is an urgent and important task, both from a scientific and practical point of view. The object of research is the method of combining versions of program code while developing programs. The subject of the study is semantic ways of combining versions of program code while developing programs for a subset of the Python language. Purpose: to create for the first time a semantic way to combine versions of program code while developing programs for a subset of Python based on a cyclic algorithm for proving the equivalence of programs and an algorithm for deriving the semantic effect of program modification; check the results of the created combination tool on real projects written in Python. The scientific novelty is as follows: for the first time a method of combining versions of programs written in a subset of Python based on a cyclic algorithm for proving the equivalence of programs and an algorithm for deriving the semantic effect of program modification. The practical value of the results is that the proposed methods allow you to automatically combine programs written in a subset of Python, thus freeing developers from understanding and solving complex and tedious combination of software versions, poor performance of which can cause defects in the product. The developed automatic tool for combining programs written in a subset of the Python language has been tested on real projects. The result allows you to reduce the amount of time spent by developers on the process of combining versions of programs. Approbation of work. 1. The statement of the problem was presented and discussed by the VIII International scientific and technical Internet-conference devoted to actual problems of management of difficult objects and preparation of experts in automation of production and use of information technologies 2. The main provisions and results of the work were presented and discussed at the XIV scientific conference of undergraduates and graduate students "Applied Mathematics and Computing" PMK-2021 (Kyiv, November 15-17, 2021). Structure and scope of work. The master’s dissertation consists of an introduction, four chapters and conclusions. The introduction presents a general description of the work, assesses the current state of the problem, substantiates the relevance of research, formulates the purpose and objectives of research, shows the scientific novelty of the results and practical value of the work, provides information on approbation of results and their implementation. The first section discusses the existing methods of combining versions of software code while developing programs, as well as an analysis that identifies the main advantages and disadvantages of these methods. The second section briefly describes the aspects of using the cyclic algorithm for proving the equivalence of programs and the algorithm for deriving the semantic effect of program modification. The third section describes the implementation of a method of combining versions of programs written in a subset of the Python language based on a cyclic algorithm for proving the equivalence of programs and an algorithm for deriving the semantic effect of program modification. The fourth section describes the theoretical and experimental results of the method on real projects. The conclusions present the results of the work. The work is presented on 81 sheets, contains 14 references, 4 appendices.uk
dc.description.abstractukАктуальність теми. В даний час програмні продукти створюються групами розробників. Зазвичай, кожному розробнику видається своє окреме завдання, результатом якого є видозмінений програмний продукт. Розробники працюють незалежно і одночасно, а тому можуть вносити суперечливі зміни. Ці зміни унеможливлюють автоматичну інтеграцію незалежно від створених модифікацій в функціональність програмного продукту. Попередні дослідження показали, що такі конфлікти трапляються часто і погіршують продуктивність розробки, оскільки їх розуміння та вирішення є складним і нудним завданням, причому неякісне виконання якого може внести дефекти в продукт. Тому розробка спеціальних способів поєднання версій програмного коду при одночасній розробці програм для підмножини мови Python та застосування їх на практиці є актуальною і важливою задачею, як з наукової, так і з практичної точки зору. Об’єктом дослідження є методика поєднання версій програмного коду при одночасній розробці програм. Предметом дослідження є семантичні способи поєднання версій програмного коду при одночасній розробці програм для підмножини мови Python. Мета роботи: створення семантичний спосіб поєднання версій програмного коду при одночасній розробці програм для підмножини мови Python на основі циклічного алгоритму доведення еквівалентності програм та алгоритму виведення семантичного ефекту модифікації програми; перевірка результатів створеного інструмента поєднання на реальних проєктах, написаних на мові Python. Наукова новизна полягає в наступному: вперше запропоновано спосіб поєднання версій програм, написаних на підмножині мови Python на основі циклічного алгоритму доведення еквівалентності програм та алгоритму виведення семантичного ефекту модифікації програми. Практична цінність отриманих в роботі результатів полягає в тому, що запропоновані методи дають змогу автоматично поєднувати програми, написані на підмножині мови Python, звільняючи таким чином розробників від розуміння та вирішення складного і нудного поєднання версій програм, неякісне виконання якого може внести дефекти в продукт. Розроблений автоматичний інструмент поєднання програм, написаних на підмножині мови Python перевірено на реальних проєктах. Отриманий результат дозволяє знизити кількість затраченого розробниками часу на процес поєднання версій програм. Апробація роботи. 1. Постановка задачі була представлена і обговорена VIІІ Міжнародній науково-технічній Internet-конференції присвяченій актуальним проблемам керування складними об’єктами та підготовки фахівців з автоматизації виробництва і використання інформаційних технологій 2. Основні положення і результати роботи були представлені та обговорювались на XІV науковій конференції магістрантів та аспірантів «Прикладна математика та комп’ютинг» ПМК-2021 (Київ, 15-17 листопада 2021 р.). Структура та обсяг роботи. Магістерська дисертація складається з вступу, чотирьох розділів та висновків. У вступі подано загальну характеристику роботи, зроблено оцінку сучасного стану проблеми, обґрунтовано актуальність напряму досліджень, сформульовано мету і задачі досліджень, показано наукову новизну отриманих результатів і практичну цінність роботи, наведено відомості про апробацію результатів і їхнє впровадження. У першому розділі розглянуто існуючі методики поєднання версій програмного коду при одночасній розробці програм, а також проведений аналіз, який дає змогу визначити основні переваги та недоліки цих методик. У другому розділі коротко описуються аспекти використання циклічного алгоритму доведення еквівалентності програм та алгоритму виведення семантичного ефекту модифікації програми. У третьому розділі наведено опис реалізації спосіб поєднання версій програм, написаних на підмножині мови Python на основі циклічного алгоритму доведення еквівалентності програм та алгоритму виведення семантичного ефекту модифікації програми. У четвертому розділі описуються теоретичні та експериментальні результати застосування способу на реальних проєктах. У висновках представлені результати проведеної роботи. Робота представлена на 81 аркушах, містить 14 джерел, 63 рисунків, 4 додатки.uk
dc.format.page90 с.uk
dc.identifier.citationВовчок, О. В. Семантичний спосіб поєднання версій програмного коду при одночасній розробці програм для підмножини мови Python : магістерська дис. : 123 Комп’ютерна інженерія / Вовчок Олексій Володимирович. – Київ, 2021. – 90 с.uk
dc.identifier.urihttps://ela.kpi.ua/handle/123456789/45922
dc.language.isoukuk
dc.publisherКПІ ім. Ігоря Сікорськогоuk
dc.publisher.placeКиївuk
dc.subjectсинтаксичний аналізuk
dc.subjectсемантичний аналізuk
dc.subjectsemantic analysisuk
dc.subjectprogram equivalenceuk
dc.subject.udc004.023uk
dc.titleСемантичний спосіб поєднання версій програмного коду при одночасній розробці програм для підмножини мови Pythonuk
dc.typeMaster Thesisuk

Файли

Контейнер файлів
Зараз показуємо 1 - 1 з 1
Вантажиться...
Ескіз
Назва:
Vovchok_magistr.pdf
Розмір:
2.29 MB
Формат:
Adobe Portable Document Format
Опис:
Ліцензійна угода
Зараз показуємо 1 - 1 з 1
Ескіз недоступний
Назва:
license.txt
Розмір:
9.1 KB
Формат:
Item-specific license agreed upon to submission
Опис: