<?xml version="1.0" encoding="UTF-8"?>
<article article-type="research-article" dtd-version="1.3" xml:lang="ru" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://metafora.rcsi.science/xsd_files/journal3.xsd">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">moitvivt</journal-id>
      <journal-title-group>
        <journal-title xml:lang="ru">Моделирование, оптимизация и информационные технологии</journal-title>
        <trans-title-group xml:lang="en">
          <trans-title>Modeling, Optimization and Information Technology</trans-title>
        </trans-title-group>
      </journal-title-group>
      <issn pub-type="epub">2310-6018</issn>
      <publisher>
        <publisher-name>Издательство</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.26102/2310-6018/2018.23.4.009</article-id>
      <article-id pub-id-type="custom" custom-type="elpub">519</article-id>
      <title-group>
        <article-title xml:lang="ru">ИССЛЕДОВАНИЕ И РАЗРАБОТКА МЕТОДОВ ДИНАМИЧЕСКОГО АНАЛИЗА КОДА ДЛЯ СОЗДАНИЯ САМОАДАПТИВНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ</article-title>
        <trans-title-group xml:lang="en">
          <trans-title>RESEARCH AND DEVELOPMENT OF METHODS OF DYNAMIC ANALYSIS OF CODE FOR CREATING SELF-ADAPTIVE SOFTWARE</trans-title>
        </trans-title-group>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Бершадский</surname>
              <given-names>Александр Моисеевич</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Bershadskiy</surname>
              <given-names>Alexander Moiseevich</given-names>
            </name>
          </name-alternatives>
          <email>bam@pnzgu.ru</email>
          <xref ref-type="aff">aff-1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="yes">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Бождай</surname>
              <given-names>Александр Сергеевич</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Bozhday</surname>
              <given-names>Alexander Sergeevich</given-names>
            </name>
          </name-alternatives>
          <email>bozhday@yandex.ru</email>
          <xref ref-type="aff">aff-2</xref>
        </contrib>
        <contrib contrib-type="author" corresp="yes">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Евсеева</surname>
              <given-names>Юлия Игоревна</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Evseieva</surname>
              <given-names>Yulia Igorevna</given-names>
            </name>
          </name-alternatives>
          <email>shymoda@mail.ru</email>
          <xref ref-type="aff">aff-3</xref>
        </contrib>
        <contrib contrib-type="author" corresp="yes">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Гудков</surname>
              <given-names>Алексей Анатольевич</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Gudkov</surname>
              <given-names>Alexey Anatolievich</given-names>
            </name>
          </name-alternatives>
          <email>alexei.gudkov@gmail.com</email>
          <xref ref-type="aff">aff-4</xref>
        </contrib>
      </contrib-group>
      <aff-alternatives id="aff-1">
        <aff xml:lang="ru">Пензенский государственный университет</aff>
        <aff xml:lang="en">Penza State University</aff>
      </aff-alternatives>
      <aff-alternatives id="aff-2">
        <aff xml:lang="ru">Пензенский государственный университет</aff>
        <aff xml:lang="en">Penza State University</aff>
      </aff-alternatives>
      <aff-alternatives id="aff-3">
        <aff xml:lang="ru">Пензенский государственный университет</aff>
        <aff xml:lang="en">Penza State University</aff>
      </aff-alternatives>
      <aff-alternatives id="aff-4">
        <aff xml:lang="ru">Пензенский государственный университет</aff>
        <aff xml:lang="en">Penza State University</aff>
      </aff-alternatives>
      <pub-date pub-type="epub">
        <day>01</day>
        <month>01</month>
        <year>2026</year>
      </pub-date>
      <volume>1</volume>
      <issue>1</issue>
      <elocation-id>10.26102/2310-6018/2018.23.4.009</elocation-id>
      <permissions>
        <copyright-statement>Copyright © Авторы, 2026</copyright-statement>
        <copyright-year>2026</copyright-year>
        <license license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/">
          <license-p>This work is licensed under a Creative Commons Attribution 4.0 International License</license-p>
        </license>
      </permissions>
      <self-uri xlink:href="https://moitvivt.ru/ru/journal/article?id=519"/>
      <abstract xml:lang="ru">
        <p>В статье рассмотрены вопросы разработки методов динамического анализа&#13;
кода для создания самоадаптивных программных систем. На сегодняшний день&#13;
предпринято не так много попыток создания универсального теоретического&#13;
аппарата синтеза самоадаптивных приложений, в то время как само направление&#13;
исследований актуально: свойство самоадаптации позволит повысить качество&#13;
разрабатываемого программного обеспечения и сократить временные и трудовые&#13;
затраты на его разработку. Предлагаемый в работе подход развивает концепцию&#13;
рефлексивной самоадаптации, предложенной в более ранних работах авторов.&#13;
Центральной идеей нового подхода является разработка нового универсального&#13;
метода самоадаптации программных систем, основанного на совместном&#13;
использовании технологии динамического анализа кода и элементов теории&#13;
трансляторов. На протяжении жизненного цикла программы осуществляется&#13;
протоколирование вызовов основных функций, а затем на основе записанных вызовов&#13;
строится множество динамических графов вызовов. Это множество становится&#13;
основой более сложной структуры данных, используемой для анализа поведения&#13;
системы. В такой структуре каждая вершина графа вызовов, представляющая собой&#13;
функцию, имеет привязку к абстрактному синтаксическому дереву, которое является&#13;
описанием действий, производимых функцией. Путем дальнейшего исследования&#13;
полученной структуры данных находятся переменные, влияющие на результат&#13;
выполнения программы. Дальнейший процесс самоадаптации заключается в&#13;
варьировании значений данных переменных. Реализация полученных теоретических&#13;
результатов может найти широкое применение в разработке самоадаптивных&#13;
систем широкого круга, но в особенности, адаптивных тренажеров и обучающих&#13;
приложений.</p>
      </abstract>
      <trans-abstract xml:lang="en">
        <p>The article deals with the development of methods for dynamic code analysis&#13;
for creating self-adaptive software systems. To date, not so many attempts have been made to&#13;
create a universal theoretical apparatus for the synthesis of self-adaptable applications,&#13;
while the research direction itself is relevant: the self-adapting feature will improve the&#13;
quality of the software being developed and reduce the time and labor costs of its&#13;
development. The proposed approach develops the concept of reflexive self-adaptation&#13;
proposed in the earlier works of the authors. The central idea of the new approach is the&#13;
development of a new universal method of self-adaptation of software systems based on the&#13;
joint use of technology for dynamic analysis of code and elements of the theory of&#13;
translators. Throughout the life cycle of the program, the calls of the main functions are&#13;
recorded, and then a set of dynamic call graphs is constructed on the basis of the recorded&#13;
calls. This set becomes the basis of a more complex data structure used to analyze the&#13;
behavior of the system. In such a structure, each vertex of the call graph, which is a function,&#13;
is bound to an abstract syntax tree, which is a description of the actions performed by the&#13;
function. By further researching the obtained data structure, variables are found that&#13;
influence the result of the program execution. The further self-adaptation process consists in the variation of these variables value. The implementation of the obtained theoretical results&#13;
can be widely used in the development of self-adaptive systems of a wide range, but in&#13;
particular, adaptive simulators and training applications.</p>
      </trans-abstract>
      <kwd-group xml:lang="ru">
        <kwd>динамический анализ кода</kwd>
        <kwd>граф вызовов</kwd>
        <kwd>абстрактное синтаксическое дерево</kwd>
        <kwd>интеллектуальный анализ данных</kwd>
        <kwd>программная инженерия</kwd>
        <kwd>самоадаптивные  программные системы</kwd>
      </kwd-group>
      <kwd-group xml:lang="en">
        <kwd>dynamic code analysis</kwd>
        <kwd>call graph</kwd>
        <kwd>abstract syntax tree</kwd>
        <kwd>data mining</kwd>
        <kwd>software engineering</kwd>
        <kwd>self-adaptive software systems</kwd>
      </kwd-group>
      <funding-group>
        <funding-statement xml:lang="ru">Исследование выполнено без спонсорской поддержки.</funding-statement>
        <funding-statement xml:lang="en">The study was performed without external funding.</funding-statement>
      </funding-group>
    </article-meta>
  </front>
  <back>
    <ref-list>
      <title>References</title>
      <ref id="cit1">
        <label>1</label>
        <mixed-citation xml:lang="ru">Yu.Chernov, A.S.Konoplev. The use of virtualization technology in the&#13;
dynamic analysis of software code // Automatic Control and Computer&#13;
Sciences. - Springer, NY: 2015. - P. 834-837.</mixed-citation>
      </ref>
      <ref id="cit2">
        <label>2</label>
        <mixed-citation xml:lang="ru">P.V.Shijo, A.Salimb. Integrated Static and Dynamic Analysis for Malware&#13;
Detection // Procedia Computer Science. - Elsevier, Amsterdam: 2015. - P.&#13;
804-811.</mixed-citation>
      </ref>
      <ref id="cit3">
        <label>3</label>
        <mixed-citation xml:lang="ru">M. Burch. The Dynamic Call Graph Matrix // VINCI '16 Proceedings of the&#13;
9th International Symposium on Visual Information Communication and&#13;
Interaction.- ACM, NY: 2016. - P. 1-8.</mixed-citation>
      </ref>
      <ref id="cit4">
        <label>4</label>
        <mixed-citation xml:lang="ru">Аветисян А.И., Тихонов А.Ю. Комбинированный (статический и&#13;
динамический) анализ бинарного кода // Труды Института системного&#13;
программирования РАН (электронный журнал). — 2012. — № 4 (22).&#13;
— С. 131-52.</mixed-citation>
      </ref>
      <ref id="cit5">
        <label>5</label>
        <mixed-citation xml:lang="ru">С.П. Вартанов, А.Ю. Герасимов, М.К. Ермаков, Д.О. Куц, А.А.&#13;
Новиков. Динамический анализ приложений с графическим&#13;
пользовательским интерфейсом на основе символьного исполнения //&#13;
Труды Института системного программирования РАН (электронный&#13;
журнал). — 2017. — № 1 (29). — С. 149-166.</mixed-citation>
      </ref>
      <ref id="cit6">
        <label>6</label>
        <mixed-citation xml:lang="ru">. Balog M., Gaunt A.L., Brockschmidt M., Nowozin S., Tarlow D.&#13;
DeepCoder: Learning to Write Programs //&#13;
https://www.sciencedirect.com/science/journal/18770509 ICLR 2017: 5th&#13;
International Conference on Learning Representations.- ACM, NY: 2017. -&#13;
P. 1-20.</mixed-citation>
      </ref>
      <ref id="cit7">
        <label>7</label>
        <mixed-citation xml:lang="ru">Beltramelli T. pix2code: Generating Code from a Graphical User Interface&#13;
Screenshot // https://www.sciencedirect.com/science/journal/18770509&#13;
ICLR 2018: 6th International Conference on Learning Representations.-&#13;
ACM, NY: 2018. - P. 47-54.</mixed-citation>
      </ref>
      <ref id="cit8">
        <label>8</label>
        <mixed-citation xml:lang="ru">Wang, A.L. Software architectures and the creative processes in game&#13;
development / A.L. Wang, N. Nordmark // Entertainment computing /&#13;
edited by K. Chorianopoulos [et al.]. — Cham: Springer International&#13;
Publishing, 2015. — P. 272-285.</mixed-citation>
      </ref>
      <ref id="cit9">
        <label>9</label>
        <mixed-citation xml:lang="ru">Cornforth, D.J. Cluster evaluation, description and interpretation for serious&#13;
games / D. J.Cornforth, M. T.Adam // Serious games analytics / edited by&#13;
C. S. Loh, Y. Sheng, D. Ifenthaler. — Cham: Springer International&#13;
Publishing, 2015. — P. 135-155.</mixed-citation>
      </ref>
      <ref id="cit10">
        <label>10</label>
        <mixed-citation xml:lang="ru">Carvalho, M.B. The journey: a service-based adaptive serious game on&#13;
probability / M.B. Carvalho [et al.] // Serious games analytics / edited by C.&#13;
S. Loh, Y. Sheng, D. Ifenthaler. — Cham: Springer International&#13;
Publishing, 2015. — P. 97-106.</mixed-citation>
      </ref>
      <ref id="cit11">
        <label>11</label>
        <mixed-citation xml:lang="ru">Fasli, M. Designing and developing electronic market games / M. J. Fasli,&#13;
M. Michalakopoulos // Games and learning alliance / edited by A. De&#13;
Gloria. — Heidelberg: Springer Berlin Heidelberg, 2007. — P. 117-151.</mixed-citation>
      </ref>
      <ref id="cit12">
        <label>12</label>
        <mixed-citation xml:lang="ru">Bernon, C. Engineering self-organizing systems / C. Bernon [et al.] // Selforganizing software: from natural to artificial adaptation / edited by G. Di&#13;
Marzo Serugendo, M.P. Gleizes, A. Karageorgos. — Heidelberg: Springer&#13;
Berlin Heidelberg, 2011. — P. 283-312.</mixed-citation>
      </ref>
      <ref id="cit13">
        <label>13</label>
        <mixed-citation xml:lang="ru">Ravindran, K., Rabby, M. Software cybernetics to infuse adaptation&#13;
intelligence in networked systems // IEEE International Conference on the&#13;
Network of the Future (NOF).. - Washington: IEEE Computer Society,&#13;
2013. - P. 1-6.&#13;
</mixed-citation>
      </ref>
      <ref id="cit14">
        <label>14</label>
        <mixed-citation xml:lang="ru">Ahuja, K., Dangey, H. Autonomic Computing: An emerging perspective&#13;
and issues // IEEE International Conference on Issues and Challenges in&#13;
Intelligent Computing Techniques (ICICT 2014). - Washington: IEEE&#13;
Computer Society, 2014. - P. 471-475.</mixed-citation>
      </ref>
      <ref id="cit15">
        <label>15</label>
        <mixed-citation xml:lang="ru">Wang P., Cai, K. Y. Representing extended finite state machines for SDL&#13;
by a novel control model of discrete event systems // Sixth IEEE&#13;
International Conference on Quality Software (QSIC 2006). - Washington:&#13;
Ieee Computer Society, 2006. - P. 159-166.</mixed-citation>
      </ref>
      <ref id="cit16">
        <label>16</label>
        <mixed-citation xml:lang="ru">Yang, Q., Lü, J., Xing, J., Tao, X., Hu, H., Zou, Y. Fuzzy control-based&#13;
software self-adaptation: A case study in mission critical systems // IEEE&#13;
35th Annual Computer Software and Applications Conference Workshops&#13;
(COMPSACW). - Washington: IEEE Computer Society, 2011. - P. 13-18.</mixed-citation>
      </ref>
      <ref id="cit17">
        <label>17</label>
        <mixed-citation xml:lang="ru">Бершадский А.М., Бождай А.С., Евсеева Ю.И., Гудков А.А.&#13;
Математическая модель рефлексии самоадаптивных программных&#13;
систем // Известия волгоградского государственного технического&#13;
университета. — 2018. — № 8 (218). — С. 7-14.</mixed-citation>
      </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>