Модифікований метод статичного аналізу коду для рішення задачі згортки рядкових констант

dc.contributor.advisorМарченко, Олександр Іванович
dc.contributor.authorКасянчук, Дмитро Павлович
dc.date.accessioned2023-06-07T10:28:05Z
dc.date.available2023-06-07T10:28:05Z
dc.date.issued2023
dc.description.abstractАктуальність теми. Рядки широко використовуються в сучасних мовах програмування, зокрема у рядкових літералах для надання інформації користувачу, у програмах обробки текстів, у програмах, що використовують рефлексію тощо. Тому розробка спеціальних методів статичного аналізу для задачі згортки рядкових констант є актуальною і важливою задачею, як з наукової, так і з практичної точки зору. Об’єктом дослідження є процес згортки рядкових констант програми. Предметом дослідження є методи статичного аналізу для рішення задачі згортки рядкових констант. Мета роботи: прискорення процесу згортки рядкових констант програми; розробка більш швидкого методу чи модифікованого методу згортки рядкових констант програми. Наукова новизна полягає у наступному. 1. Вперше запропоновано модифікований метод згортки рядкових констант, який полягає у анотуванні пропагованих значень додатковою інформацією, аналіз якої дозволяє не здійснювати конкатенацію значень, які не можуть існувати разом під час реального виконання програми, відрізняється від існуючих використанням вкладеної хеш-таблиці в якості значень основної хеш-таблиці замість структури даних типу «множина» та модифікованої трансферної функції і дозволяє зменшити розмір проміжних результатів аналізу потоку даних, завдяки чому зменшується складність алгоритмів, що використовуються, тим самим покращуючи швидкість і точність згортки рядкових констант програми. 2. Вперше виконано порівняльний аналіз розробленого модифікованого методу із стандартним методом і показано ефективність запропонованого модифікованого методу. Практична цінність отриманих в роботі результатів полягає в тому, що запропонований модифікований метод дає змогу використати його у більшій кількості застосунків, ніж стандартний метод, в яких треба визначити повну множину рядків, що використовуються в програмі, але наявні методи не можуть бути ефективно використані через їх незадовільну швидкодію. Апробація роботи. Основні положення роботи були представлені у випуску №50 2023 року наукового фахового журналу «Комп'ютерно-інтегровані технології: освіта, наука, виробництво». Порівняльний аналіз розробленого методу з існуючими був представлений у випуску №152 2023 року науково дослідницького центру «InterConf». Структура та обсяг роботи. Магістерська дисертація складається з вступу, п'яти розділів та висновків. У вступі подано загальну характеристику роботи, зроблено оцінку сучасного стану проблеми, обґрунтовано актуальність напрямку досліджень, сформульовано мету і задачі досліджень. У першому розділі розглянуто існуючі методи для аналізу рядкових констант, їхні особливості, недоліки та переваги. У другому розділі розглянуто основні моделі статичного аналізу коду на яких базується запропонований метод. У третьому розділі розглянуто основні положення запропонованого методу. У четвертому розділі наведена програмна реалізація системи статичного аналізу коду, що базується на моделях описаних у другому розділі, а також реалізація аналізу згортки рядкових констант у мові Java на основі розробленого методу. У п'ятому розділі наведено опис системи для оцінки ефективності запропонованого методу на основі його програмної реалізації, а також здійснено порівняльний аналіз з існуючим методами аналізу рядкових констант. У висновках представлені результати проведеної роботи. Робота представлена на 91 аркушах, містить 3 додатки та посилання на список використаних літературних джерел.uk
dc.description.abstractotherActuality of theme. Strings are widely used in modern programming languages, particularly in string literals to provide information to the user, in text processing programs, in programs that use reflection, and so on. Therefore, the development of special methods of static analysis for the convolution problem of string constants is an urgent and important task, both from a scientific and a practical point of view. The object of research is the process of convolution of string constants of the program. The subject of the research is static analysis methods for solving the problem of folding of string constants. The purpose of the work: speed-up of the process of folding of string constants of the program; development of a faster method or a modified method of convolution of string constants of the program. The scientific novelty. 1. For the first time, a modified method of folding of string constants is proposed, which consists in annotating the propagated values with additional information, the analysis of which allows not to carry out concatenation of values that cannot exist together during the actual execution of the program, differs from existing methods by using a nested hash table as the values of the main hash table instead of a set data structure and a modified transfer function and allows to reduce the size of the intermediate results of the data flow analysis, which reduces the complexity of the algorithms used, thereby improving the speed and accuracy of folding of the string constants of the program. 2. For the first time, a comparative analysis of the developed modified method with the standard method was performed and the effectiveness of the proposed modified method was shown. The practical value of the results obtained in the work is that the proposed modified method makes possible to use it in a larger number of applications than the standard method, in which it is necessary to determine the complete set of lines used in the program, but the existing methods cannot be effectively used due to their unsatisfactory performance. Approbation of work. The main state of the work are presented in issue No. 50 of 2023 of the scientific journal "Computer-integrated technologies: education, science, production". A comparative analysis of the developed method with the existing ones is presented in issue No. 152 of 2023 of the scientific research center "InterConf". Structure and scope of work. The master's work includes of an introduction, five chapters and conclusions. In the introduction, a general description of the work is presented, an assessment of the current state of the problem is made, the relevance of the research direction is substantiated, and the goal and tasks of the research are formulated. In the first chapter, the existing methods for the analysis of string constants, their features, disadvantages and advantages are considered. In the second chapter, the main stages of static code analysis, on which the proposed method is based, are considered. In the third chapter, the main provisions of the proposed method are considered. The fourth chapter presents the software implementation of the static code analysis system, which consists of the stages described in the second chapter, as well as the implementation of the folding analysis of string constants in the Java language based on the developed method. The fifth chapter describes the system for checking the effectiveness of the proposed method based on its software implementation, as well as a comparative analysis with existing methods of analyzing string constants. The results of the work are presented in the conclusions. The work is presented on 91 sheets, contains 3 appendices and links to the list of used literary sources.uk
dc.format.extent100 с.uk
dc.identifier.citationКасянчук, Д.П. Модифікований метод статичного аналізу коду для рішення задачі згортки рядкових констант : магістерська дис. : 123 Комп’ютерна інженерія / Касянчук Дмитро Павлович. – Київ, 2023. – 100 с.uk
dc.identifier.urihttps://ela.kpi.ua/handle/123456789/56756
dc.language.isoukuk
dc.publisherКПІ ім. Ігоря Сікорськогоuk
dc.publisher.placeКиївuk
dc.subjectстатичний аналізuk
dc.subjectзгортка константuk
dc.subjectstatic analysisuk
dc.subjectconstants foldinguk
dc.subject.udc004.02uk
dc.titleМодифікований метод статичного аналізу коду для рішення задачі згортки рядкових константuk
dc.typeMaster Thesisuk

Файли

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