10.14489/vkit.2025.03.pp.057-063 |
DOI: 10.14489/vkit.2025.03.pp.057-063 Плаксин С. И. Аннотация. Изложен метод построения графа выполнения программы на основе статического и динамического анализов исполнимого кода программы для последующего поиска вложенных циклов и их классификации. Приведена упрощенная структура графа выполнения для снижения повторных вычислений при обработке. Приведен алгоритм совмещения графов выполнения программы, получаемых от статического и динамического анализов. Информация о циклах открывает возможности для автоматического распараллеливания на системе пользователя с учетом ее конфигурации. Ключевые слова: граф исполнения программы; статический анализ кода; динамический анализ кода; вложенные циклы; исполнимый код.
Plaksin S. I. Abstract. A method is proposed for constructing a program execution graph based on static and dynamic analysis of executable program code for subsequent search for nested loops and their classification. A simplified structure of the execution graph is presented to reduce the number of repeated calculations during processing. Such structure consists of individual procedure subgraphs that being linked to each other. Code instructions grouped into code instruction blocks separated by jmp-type instructions. It is shown how nesting depth of loop can be calculated utilizing intraprocedure and interprocedure nesting depth of each subgraph. The process of obtaining execution graphs based on static and dynamic analysis of executable program is briefly described. A method for combining program execution graphs obtained from static and dynamic analysis is presented. The graph from static analysis used as a basis, due to its higher code coverage. First stage is an algorithm for initial matching of corresponding procedure subgraphs of both graphs, using the memory address of first vertex. Second stage is an algorithm for combination of both subgraphs into one, using the memory address to determine the equality of all vertices in both subgraphs. Third stage is an algorithm for adjusting the execution order records from the dynamic analysis to the obtained graph. The resulting information about cycles can be applied for automatic parallelization on the user's system side, taking into account its configuration. Keywords: Program execution graph; Static code analysis; Dynamic code analysis; Nested loops; Executable code.
РусС. И. Плаксин (Тульский государственный университет, Тула, Россия) E-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript EngS. I. Plaksin (Tula State University, Tula, Russia) E-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
Рус1. Штейнберг Б. Я. Распараллеливание программ для суперкомпьютеров с параллельной памятью и открытая распараллеливающая система: специальность 05.13.11 «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей»: автореферат дис… д-ра техн. наук: / Штейнберг Борис Яковлевич; Южный федеральный университет. Ростов-на-Дону: Таганрогский государственный радиотехнический университет, 2004. Eng1. Shteynberg B. Ya. (2004). Parallelization of programs for supercomputers with parallel memory and an open parallelizing system. Doctor of Technical Sciences: Mathematical and software support for computing machines, complexes and computer networks. Southern Federal University. Rostov-on-Don: Taganrogskiy gosudarstvennyy radiotekhnicheskiy universitet. [in Russian language]
РусСтатью можно приобрести в электронном виде (PDF формат). Стоимость статьи 700 руб. (в том числе НДС 20%). После оформления заказа, в течение нескольких дней, на указанный вами e-mail придут счет и квитанция для оплаты в банке. После поступления денег на счет издательства, вам будет выслан электронный вариант статьи. Для заказа скопируйте doi статьи: 10.14489/vkit.2025.03.pp.057-063 Отправляя форму вы даете согласие на обработку персональных данных. .
EngThis article is available in electronic format (PDF). The cost of a single article is 700 rubles. (including VAT 20%). After you place an order within a few days, you will receive following documents to your specified e-mail: account on payment and receipt to pay in the bank. After depositing your payment on our bank account we send you file of the article by e-mail. To order articles please copy the article doi: 10.14489/vkit.2025.03.pp.057-063 and fill out the
.
|