<?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/2020.31.4.014</article-id>
      <article-id pub-id-type="custom" custom-type="elpub">860</article-id>
      <title-group>
        <article-title xml:lang="ru">Метод самоадаптации программных систем на основе технологии трассировки вычислительного процесса</article-title>
        <trans-title-group xml:lang="en">
          <trans-title>Method of software systems self-adaptation based on the technology of the computing process trace</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>Bershadskij</surname>
              <given-names>Aleksandr 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>Bozhdaj</surname>
              <given-names>Aleksandr 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>Gudkov</surname>
              <given-names>Aleksej Anatol'evich</given-names>
            </name>
          </name-alternatives>
          <email>alexei-ag@yandex.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>Evseeva</surname>
              <given-names>Yuliya Igorevna</given-names>
            </name>
          </name-alternatives>
          <email>shymoda@mail.ru</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/2020.31.4.014</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=860"/>
      <abstract xml:lang="ru">
        <p>В статье рассмотрены вопросы разработки метода самоадаптации программного обеспечения на основе технологии трассировки вычислительного процесса. Обосновывается актуальность проблемы создания методов синтеза самоадаптивного программного обеспечения, рассмотрены основные преимущества самоадаптивных программных систем., Приводится описание существующих средств трассировки, обоснован выбор Intel Processor Trace для создания метода самоадаптации программного обеспечения. Рассмотрено определение графа выполнения программы в качестве математического аппарата, лежащего в основе нового метода. Предложена математическая модель поведения самоадаптивной программы, основанная на рассмотренном определении графа вызовов и представляющая собой формализацию полученных с помощью Intel Processor Trace трасс.  Рассмотрен алгоритм поиска паттернов в графах выполнения. На основе рассмотренного определения графа выполнения и алгоритма предложен новый метод самоадаптации программной системы, основанный на анализе хода выполнения программы: определяются и в дальнейшем оптимизируются наиболее часто выполняемый участки исходного кода программы (поведенческие паттерны системы). Полученный метод позволит оптимизировать производительность программы, сократив число вычисляемых в процессе выполнения условий</p>
      </abstract>
      <trans-abstract xml:lang="en">
        <p>The article deals with the development of a software self-adaptation method based on the technology of tracing the computational process. The urgency of the problem of creating methods for the synthesis of self-adaptive software is substantiated, the main advantages of self-adaptive software systems are considered., A description of the existing tracing tools is given, the choice of Intel Processor Trace for creating a method of self-adaptive software is justified. The definition of the program execution graph as the mathematical apparatus underlying the new method is considered. A mathematical model of the behavior of a self-adaptive program is proposed, based on the considered definition of the call graph and representing the formalization of the traces obtained using Intel Processor Trace. An algorithm for searching patterns in execution graphs is considered. On the basis of the considered definition of the execution graph and the algorithm, a new method of self-adaptation of a software system is proposed, based on the analysis of the program execution progress: the most frequently executed sections of the program source code (behavioral patterns of the system) are determined and further optimized. The resulting method will optimize the performance of the program by reducing the number of conditions calculated during the execution of conditions.</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>self-adaptive software systems</kwd>
        <kwd>graph theory</kwd>
        <kwd>computational process tracing</kwd>
        <kwd>search for common subgraphs</kwd>
        <kwd>execution graph</kwd>
        <kwd>software performance optimization</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">Бершадский А.М., Бождай А.С., Евсеева Ю.И. Гудков А.А. Исследование и&#13;
разработка методов динамического анализа кода для создания самоадаптивного&#13;
программного обеспечения . Моделирование, оптимизация и информационные&#13;
технологии. 2018;6(4):108-120.&#13;
</mixed-citation>
      </ref>
      <ref id="cit2">
        <label>2</label>
        <mixed-citation xml:lang="ru">Альтернативные методы трассировки приложений. Безопасность, разработка, DevOps URL: https://xakep.ru/2014/08/05/app-trace-methods/ (дата обращения:&#13;
20.10.20).</mixed-citation>
      </ref>
      <ref id="cit3">
        <label>3</label>
        <mixed-citation xml:lang="ru">Bochs User Manual. Bochs: The Open Source IA-32 Emulation Project (Home Page) URL:&#13;
http://bochs.sourceforge.net/ (дата обращения: 20.10.20).&#13;
</mixed-citation>
      </ref>
      <ref id="cit4">
        <label>4</label>
        <mixed-citation xml:lang="ru">What is QEMU? QEMU URL: https://www.qemu.org/ (дата обращения: 20.10.20).</mixed-citation>
      </ref>
      <ref id="cit5">
        <label>5</label>
        <mixed-citation xml:lang="ru">Pin — A Dynamic Binary Instrumentation Tool. Intel URL:&#13;
https://software.intel.com/content/www/ru/ru/develop/articles/pin-a-dynamic-binaryinstrumentation-tool.html (дата обращения: 20.10.20).&#13;
</mixed-citation>
      </ref>
      <ref id="cit6">
        <label>6</label>
        <mixed-citation xml:lang="ru">Assessment war: Windows services. Virus bulletin URL:&#13;
https://www.virusbulletin.com/virusbulletin/2008/02/assessment-war-windows-services/&#13;
(дата обращения: 20.10.20).</mixed-citation>
      </ref>
      <ref id="cit7">
        <label>7</label>
        <mixed-citation xml:lang="ru">Enhance performance analysis with Intel Processor Trace . Performance explained easy&#13;
URL: https://easyperf.net/blog/2019/08/23/Intel-Processor-Trace (дата обращения:&#13;
20.10.20).&#13;
</mixed-citation>
      </ref>
      <ref id="cit8">
        <label>8</label>
        <mixed-citation xml:lang="ru">Пыжов В.О., Куликов Г.С., Панов А.В. Задача поиска частых подграфов и алгоритмы&#13;
ее решения . Актуальные вопросы современной науки. 2016;1(48):74-83.</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>