ИССЛЕДОВАНИЕ И РАЗРАБОТКА МЕТОДОВ ДИНАМИЧЕСКОГО АНАЛИЗА КОДА ДЛЯ СОЗДАНИЯ САМОАДАПТИВНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Работая с нашим сайтом, вы даете свое согласие на использование файлов cookie. Это необходимо для нормального функционирования сайта, показа целевой рекламы и анализа трафика. Статистика использования сайта отправляется в «Яндекс» и «Google»
Научный журнал Моделирование, оптимизация и информационные технологииThe scientific journal Modeling, Optimization and Information Technology
cетевое издание
issn 2310-6018

ИССЛЕДОВАНИЕ И РАЗРАБОТКА МЕТОДОВ ДИНАМИЧЕСКОГО АНАЛИЗА КОДА ДЛЯ СОЗДАНИЯ САМОАДАПТИВНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Бершадский А.М.   Бождай А.С.   Евсеева Ю.И.   Гудков А.А.  

УДК 004.4
DOI: 10.26102/2310-6018/2018.23.4.009

  • Аннотация
  • Список литературы
  • Об авторах

В статье рассмотрены вопросы разработки методов динамического анализа кода для создания самоадаптивных программных систем. На сегодняшний день предпринято не так много попыток создания универсального теоретического аппарата синтеза самоадаптивных приложений, в то время как само направление исследований актуально: свойство самоадаптации позволит повысить качество разрабатываемого программного обеспечения и сократить временные и трудовые затраты на его разработку. Предлагаемый в работе подход развивает концепцию рефлексивной самоадаптации, предложенной в более ранних работах авторов. Центральной идеей нового подхода является разработка нового универсального метода самоадаптации программных систем, основанного на совместном использовании технологии динамического анализа кода и элементов теории трансляторов. На протяжении жизненного цикла программы осуществляется протоколирование вызовов основных функций, а затем на основе записанных вызовов строится множество динамических графов вызовов. Это множество становится основой более сложной структуры данных, используемой для анализа поведения системы. В такой структуре каждая вершина графа вызовов, представляющая собой функцию, имеет привязку к абстрактному синтаксическому дереву, которое является описанием действий, производимых функцией. Путем дальнейшего исследования полученной структуры данных находятся переменные, влияющие на результат выполнения программы. Дальнейший процесс самоадаптации заключается в варьировании значений данных переменных. Реализация полученных теоретических результатов может найти широкое применение в разработке самоадаптивных систем широкого круга, но в особенности, адаптивных тренажеров и обучающих приложений.

1. Yu.Chernov, A.S.Konoplev. The use of virtualization technology in the dynamic analysis of software code // Automatic Control and Computer Sciences. - Springer, NY: 2015. - P. 834-837.

2. P.V.Shijo, A.Salimb. Integrated Static and Dynamic Analysis for Malware Detection // Procedia Computer Science. - Elsevier, Amsterdam: 2015. - P. 804-811.

3. M. Burch. The Dynamic Call Graph Matrix // VINCI '16 Proceedings of the 9th International Symposium on Visual Information Communication and Interaction.- ACM, NY: 2016. - P. 1-8.

4. Аветисян А.И., Тихонов А.Ю. Комбинированный (статический и динамический) анализ бинарного кода // Труды Института системного программирования РАН (электронный журнал). — 2012. — № 4 (22). — С. 131-52.

5. С.П. Вартанов, А.Ю. Герасимов, М.К. Ермаков, Д.О. Куц, А.А. Новиков. Динамический анализ приложений с графическим пользовательским интерфейсом на основе символьного исполнения // Труды Института системного программирования РАН (электронный журнал). — 2017. — № 1 (29). — С. 149-166.

6. . Balog M., Gaunt A.L., Brockschmidt M., Nowozin S., Tarlow D. DeepCoder: Learning to Write Programs // https://www.sciencedirect.com/science/journal/18770509 ICLR 2017: 5th International Conference on Learning Representations.- ACM, NY: 2017. - P. 1-20.

7. Beltramelli T. pix2code: Generating Code from a Graphical User Interface Screenshot // https://www.sciencedirect.com/science/journal/18770509 ICLR 2018: 6th International Conference on Learning Representations.- ACM, NY: 2018. - P. 47-54.

8. Wang, A.L. Software architectures and the creative processes in game development / A.L. Wang, N. Nordmark // Entertainment computing / edited by K. Chorianopoulos [et al.]. — Cham: Springer International Publishing, 2015. — P. 272-285.

9. Cornforth, D.J. Cluster evaluation, description and interpretation for serious games / D. J.Cornforth, M. T.Adam // Serious games analytics / edited by C. S. Loh, Y. Sheng, D. Ifenthaler. — Cham: Springer International Publishing, 2015. — P. 135-155.

10. Carvalho, M.B. The journey: a service-based adaptive serious game on probability / M.B. Carvalho [et al.] // Serious games analytics / edited by C. S. Loh, Y. Sheng, D. Ifenthaler. — Cham: Springer International Publishing, 2015. — P. 97-106.

11. Fasli, M. Designing and developing electronic market games / M. J. Fasli, M. Michalakopoulos // Games and learning alliance / edited by A. De Gloria. — Heidelberg: Springer Berlin Heidelberg, 2007. — P. 117-151.

12. Bernon, C. Engineering self-organizing systems / C. Bernon [et al.] // Selforganizing software: from natural to artificial adaptation / edited by G. Di Marzo Serugendo, M.P. Gleizes, A. Karageorgos. — Heidelberg: Springer Berlin Heidelberg, 2011. — P. 283-312.

13. Ravindran, K., Rabby, M. Software cybernetics to infuse adaptation intelligence in networked systems // IEEE International Conference on the Network of the Future (NOF).. - Washington: IEEE Computer Society, 2013. - P. 1-6.

14. Ahuja, K., Dangey, H. Autonomic Computing: An emerging perspective and issues // IEEE International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT 2014). - Washington: IEEE Computer Society, 2014. - P. 471-475.

15. Wang P., Cai, K. Y. Representing extended finite state machines for SDL by a novel control model of discrete event systems // Sixth IEEE International Conference on Quality Software (QSIC 2006). - Washington: Ieee Computer Society, 2006. - P. 159-166.

16. Yang, Q., Lü, J., Xing, J., Tao, X., Hu, H., Zou, Y. Fuzzy control-based software self-adaptation: A case study in mission critical systems // IEEE 35th Annual Computer Software and Applications Conference Workshops (COMPSACW). - Washington: IEEE Computer Society, 2011. - P. 13-18.

17. Бершадский А.М., Бождай А.С., Евсеева Ю.И., Гудков А.А. Математическая модель рефлексии самоадаптивных программных систем // Известия волгоградского государственного технического университета. — 2018. — № 8 (218). — С. 7-14.

Бершадский Александр Моисеевич
доктор технических наук профессор
Email: bam@pnzgu.ru

Пензенский государственный университет

Пенза, Российская Федерация

Бождай Александр Сергеевич
доктор технических наук
Email: bozhday@yandex.ru

Пензенский государственный университет

Пенза, Российская Федерация

Евсеева Юлия Игоревна
кандидат технических наук
Email: shymoda@mail.ru

Пензенский государственный университет

Пенза, Российская Федерация

Гудков Алексей Анатольевич
кандидат технических наук
Email: alexei.gudkov@gmail.com

Пензенский государственный университет

Пенза, Российская Федерация

Ключевые слова: динамический анализ кода, граф вызовов, абстрактное синтаксическое дерево, интеллектуальный анализ данных, программная инженерия, самоадаптивные программные системы

Для цитирования: Бершадский А.М. Бождай А.С. Евсеева Ю.И. Гудков А.А. ИССЛЕДОВАНИЕ И РАЗРАБОТКА МЕТОДОВ ДИНАМИЧЕСКОГО АНАЛИЗА КОДА ДЛЯ СОЗДАНИЯ САМОАДАПТИВНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ. Моделирование, оптимизация и информационные технологии. 2018;6(4). Доступно по: https://moit.vivt.ru/wp-content/uploads/2018/10/BershadskySoavtori_4_18_1.pdf DOI: 10.26102/2310-6018/2018.23.4.009

582

Полный текст статьи в PDF