<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">tuzsut</journal-id><journal-title-group><journal-title xml:lang="ru">Труды учебных заведений связи</journal-title><trans-title-group xml:lang="en"><trans-title>Proceedings of Telecommunication Universities</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">1813-324X</issn><issn pub-type="epub">2712-8830</issn><publisher><publisher-name>СПбГУТ</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.31854/1813-324X-2025-11-4-129-142</article-id><article-id custom-type="edn" pub-id-type="custom">UOKLHB</article-id><article-id custom-type="elpub" pub-id-type="custom">tuzsut-704</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ И ТЕЛЕКОММУНИКАЦИИ</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="en"><subject>INFORMATION TECHNOLOGIES AND TELECOMMUNICATION</subject></subj-group></article-categories><title-group><article-title>Реверс-инжиниринг программного обеспечения методом смарт-перебора: пошаговая схема</article-title><trans-title-group xml:lang="en"><trans-title>Reverse Engineering of Software Using the Smart Brute Force Method: Step-by-Step Scheme</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-9412-5693</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Израилов</surname><given-names>К. Е.</given-names></name><name name-style="western" xml:lang="en"><surname>Izrailov</surname><given-names>K. E.</given-names></name></name-alternatives><bio xml:lang="ru"><p>кандидат технических наук, доцент, профессор кафедры прикладной математики и безопасности информационных технологий Санкт-Петербургского университета государственной противопожарной службы МЧС России </p></bio><email xlink:type="simple">konstantin.izrailov@mail.ru</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-8146-0022</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Буйневич</surname><given-names>М. В.</given-names></name><name name-style="western" xml:lang="en"><surname>Buinevich</surname><given-names>M. V.</given-names></name></name-alternatives><bio xml:lang="ru"><p>доктор технических наук, профессор, профессор кафедры КБ-4 МИРЭА – Российского технологического университета</p></bio><email xlink:type="simple">bmv1958@yandex.ru</email><xref ref-type="aff" rid="aff-2"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru">Санкт-Петербургский университет государственной противопожарной службы МЧС России<country>Россия</country></aff><aff xml:lang="en">Saint-Petersburg University of State Fire Service of EMERCOM of Russia<country>Russian Federation</country></aff></aff-alternatives><aff-alternatives id="aff-2"><aff xml:lang="ru">МИРЭА – Российский технологический университет<country>Россия</country></aff><aff xml:lang="en">MIREA – Russian Technological University<country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2025</year></pub-date><pub-date pub-type="epub"><day>01</day><month>09</month><year>2025</year></pub-date><volume>11</volume><issue>4</issue><fpage>129</fpage><lpage>142</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Израилов К.Е., Буйневич М.В., 2025</copyright-statement><copyright-year>2025</copyright-year><copyright-holder xml:lang="ru">Израилов К.Е., Буйневич М.В.</copyright-holder><copyright-holder xml:lang="en">Izrailov K.E., Buinevich M.V.</copyright-holder><license license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://tuzs.sut.ru/jour/article/view/704">https://tuzs.sut.ru/jour/article/view/704</self-uri><abstract><sec><title>Актуальность</title><p>Актуальность. Наличие уязвимостей в программном обеспечении является одной из основных причин возникновения угроз безопасности информации. Противодействие уязвимостям возможно путем их непосредственного поиска в коде программы с его последующим исправлением. Для этого требуется преобразование исполняемого кода в более высокоуровневое и пригодное для поиска и исправления представление (например, в исходный код, алгоритмы, архитектуру и др.); однако существующие решения не могут считаться удовлетворительными по целому ряду причин – поддержка лишь ограниченного набора представлений, получение не тождественного выполняемому псевдокода, невозможность выбора нужной нотации представления. Одним из путей устранения указанных причин является применение полного перебора, который впрочем в случае исходного кода является сверхзатратным по всем параметрам.</p></sec><sec><title>Цель исследования</title><p>Цель исследования: разработать менее затратный и более оперативный метод перебора вариантов исходного кода.</p></sec><sec><title>Методы</title><p>Методы: количественное и качественное сравнение различных генераторов исходных кодов; формализация метода путем его записи в аналитическом виде.</p></sec><sec><title>Результаты</title><p>Результаты: предложена 7-шаговая схема метода для подбора экземпляра исходного кода по заданному машинному коду; метод является «умным» (называемый авторами смарт) с позиции оптимальности комбинаций синтаксических конструкций языка программирования. Авторский принцип генерации кода основан на переборе путей по графу синтаксических правил, являющимся представлением формального синтаксиса языка программирования в пространстве. Синтаксис передается в метод в качестве параметра, что делает его шаги полностью инвариантными от языка программирования исходного кода. После генерации множества экземпляров исходного кода производится их компиляция в машинный и сравнение с заданным; при совпадении задача декомпиляции методом умного перебора считается решенной. Предложенный метод может быть адаптирован для других (и, в частности, более высокоуровневых) представлений программы.</p></sec><sec><title>Практическая значимость</title><p>Практическая значимость: несмотря на очевидную временную затратность перебора при решении такого рода задач, тем не менее, в ряде сценариев применения метод смарт-перебора показал эффективность, сравнимую с работой эксперта, и может непосредственно применяться для реверс-инжиниринга.</p></sec><sec><title>Обсуждение</title><p>Обсуждение: существенным усовершенствованием «умного» перебора может стать его качественная оптимизация путем применения искусственного интеллекта в части генетических алгоритмов.</p></sec></abstract><trans-abstract xml:lang="en"><sec><title>Introduction</title><p>Introduction: software vulnerabilities is one of the leading causes of threats to information security. Such vulnerabilities can be countered by directly searching for them in the program code and correcting it. This requires converting the executable code to a higher-level representation that's more suitable for searching and fixes; however, for a number of reasons, existing solutions cannot be considered satisfactory. One of these solutions – an exhaustive search of all possible variants of the source code, converted to a given machine code – is extremely costly in every way.</p></sec><sec><title>Purpose</title><p>Purpose: developing a less costly and more efficient method of exhaustive searching through source code variants.</p></sec><sec><title>Methods</title><p>Methods: quantitative and qualitative comparison of different source code generators, as well as the formalization of this method by writing it in an analytical form.</p></sec><sec><title>Results</title><p>Results: a 7-step scheme for selecting an instance of the source code according to a given machine code is proposed; the authors refer to this method as «smart» because of its optimal combinations of syntactic constructions of the programming language. This method of code generation is based on iterating through paths along the graph of syntactic rules that represent the formal syntax of a programming language in a given space. The syntax is presented as a parameter, which makes its steps completely invariant from the programming language of the source code. After multiple instances of the source code are generated, they are compiled into machine code and compared with the specified instance; if they match, the task of decompilation by smart exhaustive search is considered solved. </p></sec><sec><title>Practical significance</title><p>Practical significance: despite the time cost of using exhaustive searching in solving such tasks, the smart iteration method has shown expert efficiency in a number of application scenarios; thus, it can be directly applied to reverse engineering.</p></sec><sec><title>Discussion</title><p>Discussion: the qualitative optimization of the "smart" exhaustive search can significantly improve it by genetic algorithms used.</p></sec></trans-abstract><kwd-group xml:lang="ru"><kwd>уязвимости в программном обеспечении</kwd><kwd>угроза безопасности информации</kwd><kwd>реверс-инжиниринг</kwd><kwd>декомпиляция</kwd><kwd>метод</kwd><kwd>смарт-перебор</kwd><kwd>исходный код</kwd><kwd>машинный код</kwd></kwd-group><kwd-group xml:lang="en"><kwd>information security</kwd><kwd>reverse engineering</kwd><kwd>decompilation</kwd><kwd>method</kwd><kwd>smart brute-force</kwd><kwd>source code</kwd><kwd>machine code</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Tan T.-T., Wang B.-S., Tang Y., Zhou X. Crash Analysis Mechanisms in Vulnerability Mining Research // Proceedings of the 4th International Conference on Computer and Communication Systems (Singapore, Singapore, 23‒25 February 2019). IEEE, 2019. PP. 355‒359. DOI:10.1109/CCOMS.2019.8821775</mixed-citation><mixed-citation xml:lang="en">Tan T.-T., Wang B.-S., Tang Y., Zhou X. Crash Analysis Mechanisms in Vulnerability Mining Research. Proceedings of the 4th International Conference on Computer and Communication Systems, 23‒25 February 2019, Singapore, Singapore. IEEE; 2019. p.355‒359. DOI:10.1109/CCOMS.2019.8821775</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Chondamrongkul N., Sun J., Warren I. Automated Security Analysis for Microservice Architecture // Proceedings of the International Conference on Software Architecture Companion (Salvador, Brazil, 16‒20 March 2020). IEEE, 2020. PP. 79‒82. DOI:10.1109/ICSA-C50368.2020.00024</mixed-citation><mixed-citation xml:lang="en">Chondamrongkul N., Sun J., Warren I. Automated Security Analysis for Microservice Architecture. Proceedings of the International Conference on Software Architecture Companion, 16‒20 March 2020, Salvador, Brazil. IEEE; 2020. p.79‒82. DOI:10.1109/ICSA-C50368.2020.00024</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Iannone E., Guadagni R., Ferrucci F., De Lucia A., Palomba F. The Secret Life of Software Vulnerabilities: a Large-Scale Empirical Study // IEEE Transactions on Software Engineering. 2023. Vol. 49. Iss. 1. PP. 44‒63. DOI:10.1109/TSE.2022.3140868. EDN:GKKIKO</mixed-citation><mixed-citation xml:lang="en">Iannone E., Guadagni R., Ferrucci F., De Lucia A., Palomba F. The Secret Life of Software Vulnerabilities: a Large-Scale Empirical Study. IEEE Transactions on Software Engineering. 2023;49(1):44‒63. DOI:10.1109/TSE.2022.3140868. EDN:GKKIKO</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Fu J., Zhang K., Zheng J., Li W., Zhu Y. Research and Application of Grey Box Detection Technology Based on Reverse Engineering and Dynamic Pollution Diffusion // Proceedings of the 7th Information Technology and Mechatronics Engineering Conference (Chongqing, China, 15‒17 September 2023). IEEE, 2023. PP. 2380‒2384. DOI:10.1109/ITOEC57671.2023.10291380</mixed-citation><mixed-citation xml:lang="en">Fu J., Zhang K., Zheng J., Li W., Zhu Y. Research and Application of Grey Box Detection Technology Based on Reverse Engineering and Dynamic Pollution Diffusion. Proceedings of the 7th Information Technology and Mechatronics Engineering Conference, 15‒17 September 2023, Chongqing, China. IEEE; 2023. p.2380‒2384. DOI:10.1109/ITOEC57671.2023.10291380</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Devine T.R., Campbell M., Anderson M., Dzielski D. SREP+SAST: A Comparison of Tools for Reverse Engineering Machine Code to Detect Cybersecurity Vulnerabilities in Binary Executables // Proceedings of the International Conference on Computational Science and Computational Intelligence (Las Vegas, USA, 14‒16 December 2022). IEEE, 2022. PP. 862‒869. DOI:10.1109/CSCI58124.2022.00156</mixed-citation><mixed-citation xml:lang="en">Devine T.R., Campbell M., Anderson M., Dzielski D. SREP+SAST: A Comparison of Tools for Reverse Engineering Machine Code to Detect Cybersecurity Vulnerabilities in Binary Executables. Proceedings of the International Conference on Computational Science and Computational Intelligence, 14‒16 December 2022, Las Vegas, USA. IEEE; 2022. p.862‒869. DOI:10.1109/CSCI58124.2022.00156</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Bhardwaj V., Kukreja V., Sharma C., Kansal I., Popali R. Reverse Engineering-A Method for Analyzing Malicious Code Behavior // Proceedings of the International Conference on Advances in Computing, Communication, and Control (Mumbai, India, 03‒04 December 2021). IEEE, 2021. PP. 1‒5. DOI:10.1109/ICAC353642.2021.9697150</mixed-citation><mixed-citation xml:lang="en">Bhardwaj V., Kukreja V., Sharma C., Kansal I., Popali R. Reverse Engineering-A Method for Analyzing Malicious Code Behavior. Proceedings of the International Conference on Advances in Computing, Communication, and Control, 03‒04 December 2021, Mumbai, India. IEEE; 2021. p.1‒5. DOI:10.1109/ICAC353642.2021.9697150</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Израилов К.Е., Покусов В.В. Архитектура программной платформы преобразования машинного кода в высоко-уровневое представление для экспертного поиска уязвимостей // Электронный сетевой политематический журнал «Научные труды КубГТУ». 2021. № 6. С. 93‒111. EDN:AIOUWF</mixed-citation><mixed-citation xml:lang="en">Izrailov K.E., Pokusov V.V. Software platform architecture for converting machine code into a high-level representation for expert search of vulnerabilities. Scientific Works of the Kuban State Technological University. 2021;6:93‒111. (in Russ.) EDN:AIOUWF</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Буйневич М.В., Израилов К.Е., Покусов В.В., Тайлаков В.А., Федулина И.Н. Интеллектуальный метод алгоритмизации машинного кода в интересах поиска в нем уязвимостей // Защита информации. Инсайд. 2020. № 5(95). С. 57‒63. EDN:HIHDOM</mixed-citation><mixed-citation xml:lang="en">Buinevich M.V., Izrailov K.E., Pokusov V.V., Tailakov V.A., Fedulina I.N. An intelligent method of machine code algorithmization for vulnerabilities search. Zaŝita informacii. Inside. 2020;5(95):57‒63. (in Russ.) EDN:HIHDOM</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Cummins C., Fisches Z.V., Ben-Nun T., Hoefler T., O'Boyle M.F.P., Leather H. ProGraML: A Graph-based Program Representation for Data Flow Analysis and Compiler Optimizations // Proceedings of the 38th International Conference on Machine Learning (PMLR, 18‒24 July 2021). 2021. Vol. 139. PP. 2244‒2253.</mixed-citation><mixed-citation xml:lang="en">Cummins C., Fisches Z.V., Ben-Nun T., Hoefler T., O'Boyle M.F.P., Leather H. ProGraML: A Graph-based Program Representation for Data Flow Analysis and Compiler Optimizations. Proceedings of the 38th International Conference on Machine Learning, PMLR, 18‒24 July 2021, vol.139. 2021. p.2244‒2253.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Израилов К.Е. Концепция генетической декомпиляции машинного кода телекоммуникационных устройств // Труды учебных заведений связи. 2021. Т. 7. № 4. С. 95‒109. DOI:10.31854/1813-324X-2021-7-4-95-109. EDN:AIOFPM</mixed-citation><mixed-citation xml:lang="en">Izrailov K. Genetic Decompilation Concept of the Telecommunication Devices Machine Code. Proceedings of Telecommunication Universities. 2021;7(4):10‒17. (in Russ.) DOI:10.31854/1813-324X-2021-7-4-95-109. EDN:AIOFPM</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Tonis R.B.M. Automating Scientific Paper Screening with Backus-Naur Form (BNF) Grammars // Didactica danubiensis. 2024. Vol. 4. Iss. 1. PP. 46–57.</mixed-citation><mixed-citation xml:lang="en">Tonis R.B.M. Automating Scientific Paper Screening with Backus-Naur Form (BNF) Grammars. Didactica danubiensis. 2024;4(1):46–57.</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Израилов К.Е. Концепция генетической деэволюции представлений программы. Часть 1 // Вопросы кибербезопасности. 2024. № 1(59). С. 61‒66. DOI:10.21681/2311-3456-2024-1-61-66. EDN:CBCKRF</mixed-citation><mixed-citation xml:lang="en">Izrailov K.E. The genetic de-evolution concept of program representations. Part 1. Voprosy kiberbezopasnosti. 2024;1(59): 61‒66. (in Russ.) DOI:10.21681/2311-3456-2024-1-61-66. EDN:CBCKRF</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">Израилов К.Е. Концепция генетической деэволюции представлений программы. Часть 2 // Вопросы кибербезопасности. 2024. № 2(60). С. 81‒86. DOI:10.21681/2311-3456-2024-2-81-86. EDN:JUBPML</mixed-citation><mixed-citation xml:lang="en">Izrailov K.E. The genetic de-evolution concept of program representations. Part 2. Voprosy kiberbezopasnosti. 2024;2(60): 81‒86. (in Russ.) DOI:10.21681/2311-3456-2024-2-81-86. EDN:JUBPML</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Hamberger P., Klammer C., Luger T., Moser M., Pfeiffer M., Piereder C. Specification-Based Test Case Generation for C++ Engineering Software // Proceedings of the International Conference on Software Maintenance and Evolution (ICSME, Bogotá, Colombia, 01‒06 October 2023). IEEE, 2023. PP. 519‒529. DOI:10.1109/ICSME58846.2023.00066</mixed-citation><mixed-citation xml:lang="en">Hamberger P., Klammer C., Luger T., Moser M., Pfeiffer M., Piereder C. Specification-Based Test Case Generation for C++ Engineering Software. Proceedings of the International Conference on Software Maintenance and Evolution, ICSME, 01‒06 October 2023, Bogotá, Colombia. IEEE; 2023. p.519‒529. DOI:10.1109/ICSME58846.2023.00066</mixed-citation></citation-alternatives></ref><ref id="cit15"><label>15</label><citation-alternatives><mixed-citation xml:lang="ru">Sato Y. Specification-Based Test Case Generation with Constrained Genetic Programming // Proceedings of the 20th International Conference on Software Quality, Reliability and Security Companion (QRS-C, Macau, China, 11‒14 December 2020). IEEE, 2020. PP. 98‒103. DOI:10.1109/QRS-C51114.2020.00027</mixed-citation><mixed-citation xml:lang="en">Sato Y. Specification-Based Test Case Generation with Constrained Genetic Programming. Proceedings of the 20th International Conference on Software Quality, Reliability and Security Companion, QRS-C, 11‒14 December 2020, Macau, China. IEEE; 2020. p.98‒103. DOI:10.1109/QRS-C51114.2020.00027</mixed-citation></citation-alternatives></ref><ref id="cit16"><label>16</label><citation-alternatives><mixed-citation xml:lang="ru">Huang C., Zhou H., Zhao H., Cai W., Zhou Z.Q., Jiang M. On the Usefulness of Crossover in Search-Based Test Case Generation: An Industrial Report // Proceedings of the 29th Asia-Pacific Software Engineering Conference (APSEC, Japan, 06‒09 December 2022). IEEE, 2022. PP. 417‒421. DOI:10.1109/APSEC57359.2022.00054</mixed-citation><mixed-citation xml:lang="en">Huang C., Zhou H., Zhao H., Cai W., Zhou Z.Q., Jiang M. On the Usefulness of Crossover in Search-Based Test Case Generation: An Industrial Report. Proceedings of the 29th Asia-Pacific Software Engineering Conference, APSEC, 06‒09 December 2022, Japan. IEEE; 2022. p.417‒421. DOI:10.1109/APSEC57359.2022.00054</mixed-citation></citation-alternatives></ref><ref id="cit17"><label>17</label><citation-alternatives><mixed-citation xml:lang="ru">Schwachhofer D., Angione F., Becker S., Wagner S., Sauer M., Bernardi P., Polian I. Optimizing System-Level Test Program Generation via Genetic Programming // Proceedings of the European Test Symposium (ETS, The Hague, Netherlands, 20‒24 May 2024). IEEE, 2024. PP. 1‒4. DOI:10.1109/ETS61313.2024.10567817</mixed-citation><mixed-citation xml:lang="en">Schwachhofer D., Angione F., Becker S., Wagner S., Sauer M., Bernardi P., Polian I. Optimizing System-Level Test Program Generation via Genetic Programming. Proceedings of the European Test Symposium, ETS, 20‒24 May 2024, The Hague, Netherlands. IEEE; 2024. p.1‒4. DOI:10.1109/ETS61313.2024.10567817</mixed-citation></citation-alternatives></ref><ref id="cit18"><label>18</label><citation-alternatives><mixed-citation xml:lang="ru">Supaartagorn C. Web application for automatic code generator using a structured flowchart // Proceedings of the International Conference on Software Engineering and Service Science (ICSESS, Beijing, China, 24‒26 November 2017). IEEE, 2017. PP. 114‒117. DOI:10.1109/ICSESS.2017.8342876</mixed-citation><mixed-citation xml:lang="en">Supaartagorn C. Web application for automatic code generator using a structured flowchart. Proceedings of the International Conference on Software Engineering and Service Science, ICSESS, 24‒26 November 2017, Beijing, China. IEEE; 2017. p.114‒117. DOI:10.1109/ICSESS.2017.8342876</mixed-citation></citation-alternatives></ref><ref id="cit19"><label>19</label><citation-alternatives><mixed-citation xml:lang="ru">Shinde K., Sun Y. Template-Based Code Generation Framework for Data-Driven Software Development // Proceedings of the 4th Intl Conf on Applied Computing and Information Technology / 3rd Intl Conf on Computational Science / Intelligence and Applied Informatics / 1st Intl Conf on Big Data, Cloud Computing, Data Science &amp; Engineering (ACIT-CSII-BCD, Las Vegas, USA, 12‒14 December 2016). IEEE, 2016. PP. 55‒60. DOI:10.1109/ACIT-CSII-BCD.2016.023</mixed-citation><mixed-citation xml:lang="en">Shinde K., Sun Y. Template-Based Code Generation Framework for Data-Driven Software Development. Proceedings of the 4th Intl Conf on Applied Computing and Information Technology / 3rd Intl Conf on Computational Science / Intelligence and Applied Informatics / 1st Intl Conf on Big Data, Cloud Computing, Data Science &amp; Engineering, ACIT-CSII-BCD, 12‒14 December 2016, Las Vegas, USA. IEEE; 2016. p.55‒60. DOI:10.1109/ACIT-CSII-BCD.2016.023</mixed-citation></citation-alternatives></ref><ref id="cit20"><label>20</label><citation-alternatives><mixed-citation xml:lang="ru">Shimonaka K., Sumi S., Higo Y., Kusumoto S. Identifying Auto-Generated Code by Using Machine Learning Techniques // Proceedings of the 7th International Workshop on Empirical Software Engineering in Practice (IWESEP, Osaka, Japan, 13 March 2016). IEEE, 2016. PP. 18‒23. DOI:10.1109/IWESEP.2016.18</mixed-citation><mixed-citation xml:lang="en">Shimonaka K., Sumi S., Higo Y., Kusumoto S. Identifying Auto-Generated Code by Using Machine Learning Techniques. Proceedings of the 7th International Workshop on Empirical Software Engineering in Practice, IWESEP, 13 March 2016, Osaka, Japan. IEEE; 2016. p.18‒23. DOI:10.1109/IWESEP.2016.18</mixed-citation></citation-alternatives></ref><ref id="cit21"><label>21</label><citation-alternatives><mixed-citation xml:lang="ru">Igwe K., Pillay N. Automatic programming using genetic programming // Proceedings of the Third World Congress on Information and Communication Technologies (WICT 2013, Hanoi, Vietnam, 15‒18 December 2013). IEEE, 2013. PP. 337‒342. DOI:10.1109/WICT.2013.7113158</mixed-citation><mixed-citation xml:lang="en">Igwe K., Pillay N. Automatic programming using genetic programming. Proceedings of the Third World Congress on Information and Communication Technologies, WICT 2013, 15‒18 December 2013, Hanoi, Vietnam. IEEE; 2013. p.337‒342. DOI:10.1109/WICT.2013.7113158</mixed-citation></citation-alternatives></ref><ref id="cit22"><label>22</label><citation-alternatives><mixed-citation xml:lang="ru">Бирюков Д.Н., Дудкин А.С., Захаров О.О. Способ тестирования средств защиты информации на основе применения многовариантной генерации исходного кода по заданной функциональной спецификации // Труды Военно-космической академии имени А.Ф. Можайского. 2022. № 684. С. 113‒122. EDN:BJWKLG</mixed-citation><mixed-citation xml:lang="en">Biryukov D.N., Dudkin A.S., Zakharov O.O. A method for testing information security tools based on the use of multivariate source code generation according to a given functional specification. Proceedings of the Mozhaisky Military Space Academy. 2022;684:113‒122. (in Russ.) EDN:BJWKLG</mixed-citation></citation-alternatives></ref><ref id="cit23"><label>23</label><citation-alternatives><mixed-citation xml:lang="ru">Самохвалов Э.Н., Ревунков Г.И., Гапанюк Ю.Е. Генерация исходного кода программного обеспечения на основе многоуровневого набора правил // Вестник Московского государственного технического университета им. Н.Э. Баумана. Серия Приборостроение. 2014. № 5(98). С. 77‒87. EDN:SVZLSL</mixed-citation><mixed-citation xml:lang="en">Samohvalov E.N., Revunkov G.I., Gapanyuk Yu.E. Source code generation of software based on multilevel set of rules. Herald of the Bauman Moscow State Technical University. Series Instrument Engineering. 2014;5(98):77‒87. (in Russ.) EDN:SVZLSL</mixed-citation></citation-alternatives></ref><ref id="cit24"><label>24</label><citation-alternatives><mixed-citation xml:lang="ru">Соколов А.П., Макаренков В.М., Першин А.Ю., Лаишевский И.А. Разработка программного обеспечения генерации кода на основе шаблонов при создании систем инженерного анализа // Программная инженерия. 2019. Т. 10. № 9-10. С. 400‒416. DOI:10.17587/prin.10.400-416. EDN:CHYPRE</mixed-citation><mixed-citation xml:lang="en">Sokolov A.P., Makarenkov V.M., Pershin A.Yu., Laishevskiy I.A. Development of template-based code generation software for development of computer-aided engineering system. Software Engineering. 2019;10(9-10):400‒416. (in Russ.) DOI:10.17587/prin.10.400-416. EDN:CHYPRE</mixed-citation></citation-alternatives></ref><ref id="cit25"><label>25</label><citation-alternatives><mixed-citation xml:lang="ru">Довгаль В.М., Корольков О.Ф., Чаплыгин А.А., Королькова В.О. К вопросу решения проблемы автоматической генерации кода программ по заданному управляющему продукционному алгоритму // В мире научных открытий. 2012. № 1(25). С. 220‒235. EDN:PBBWKP</mixed-citation><mixed-citation xml:lang="en">Dovgal V.M., Korolkov O.F., Chaplygin A.A., Korolkova V.O. Considering of solving automatic code generation problem basing on given control production algorithm. In the World of Scientific Discoveries. 2012(1);25:220‒235. (in Russ.) EDN:PBBWKP</mixed-citation></citation-alternatives></ref><ref id="cit26"><label>26</label><citation-alternatives><mixed-citation xml:lang="ru">Андрианова А.А., Ицыксон В.М. Технология анализа исходного кода программного обеспечения и частичных спецификаций для автоматизированной генерации тестов // Системы и средства информатики. 2014. Т. 24. № 2. С. 99‒113. DOI:10.14357/08696527140207. EDN:SJHATL</mixed-citation><mixed-citation xml:lang="en">Andrianova A., Itsykson V. Source code and partial specifications analysis for automated generation of unit tests. Systems and Means of Informatics. 2014;24(2):99‒113. (in Russ.) DOI:10.14357/08696527140207. EDN:SJHATL</mixed-citation></citation-alternatives></ref><ref id="cit27"><label>27</label><citation-alternatives><mixed-citation xml:lang="ru">Саух А.М., Хмельнов А.Е. Трансляция фрагментов исходных текстов программ с использованием спецификаций синтаксиса и семантики языков программирования // Вестник Новосибирского государственного университета. Серия: Информационные технологии. 2013. Т. 11. № 3. С. 53‒62. EDN:RCHBLB</mixed-citation><mixed-citation xml:lang="en">Saukh A.M., Hmelnov A.E. Source code fragments translation based on programming languages syntax and semantics specifications. Vestnik NSU. Series: Information Technologies. 2013;11(3):53‒62. (in Russ.) EDN:RCHBLB</mixed-citation></citation-alternatives></ref><ref id="cit28"><label>28</label><citation-alternatives><mixed-citation xml:lang="ru">Haq I.U., Caballero J.A. Survey of Binary Code Similarity // ACM Computing Surveys. 2021. Vol. 54. Iss. 3. PP. 1‒38. DOI:10.1145/3446371. EDN:KEPQCC</mixed-citation><mixed-citation xml:lang="en">Haq I.U., Caballero J.A. Survey of Binary Code Similarity. ACM Computing Surveys. 2021;54(3):1‒38. DOI:10.1145/3446371. EDN:KEPQCC</mixed-citation></citation-alternatives></ref><ref id="cit29"><label>29</label><citation-alternatives><mixed-citation xml:lang="ru">Куделя В.Н. Методы перечисления путей в графе // Наукоемкие технологии в космических исследованиях Земли. 2023. Т. 15. № 5. С. 28‒38. DOI:10.36724/2409-5419-2023-15-5-28-38. EDN:HQEASN</mixed-citation><mixed-citation xml:lang="en">Kudelya V.N. Methods for enumerating paths in a graph. H&amp;ES Research. 2023;15(5):28‒38. (in Russ.) DOI:10.36724/2409-5419-2023-15-5-28-38. EDN:HQEASN</mixed-citation></citation-alternatives></ref><ref id="cit30"><label>30</label><citation-alternatives><mixed-citation xml:lang="ru">Кусаинов А.Р., Глазырина Н.С. Обзор инструментов статического анализа программного кода // Colloquium-Journal. 2020. № 32-1(84). С. 48‒52. EDN:JXSKQX</mixed-citation><mixed-citation xml:lang="en">Kussainov A.R., Glazyrina N.S. Overview of static program code analysis tools. Colloquium-Journal. 2020;32-1(84):48‒52. (in Russ.) EDN:JXSKQX</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
