Моделирование и анализ информационных систем
RUS  ENG    ЖУРНАЛЫ   ПЕРСОНАЛИИ   ОРГАНИЗАЦИИ   КОНФЕРЕНЦИИ   СЕМИНАРЫ   ВИДЕОТЕКА   ПАКЕТ AMSBIB  
Общая информация
Последний выпуск
Архив
Импакт-фактор

Поиск публикаций
Поиск ссылок

RSS
Последний выпуск
Текущие выпуски
Архивные выпуски
Что такое RSS



Модел. и анализ информ. систем:
Год:
Том:
Выпуск:
Страница:
Найти






Персональный вход:
Логин:
Пароль:
Запомнить пароль
Войти
Забыли пароль?
Регистрация


Моделирование и анализ информационных систем, 2022, том 29, номер 3, страницы 246–264
DOI: https://doi.org/10.18255/1818-1015-2022-3-246-264
(Mi mais779)
 

Эта публикация цитируется в 1 научной статье (всего в 1 статье)

Theory of computing

Трансформация модели памяти языка программирования C в объектно-ориентированное представление на языке EO

А. И. Легаловa, Е. Г. Бугаенкоb, Н. К. Чуйкинa, М. В. Шипицинc, Я. И. Рябцевa, А. Н. Каменскийa

a НИУ «Высшая школа экономики», ул. Мясницкая, д. 20, г. Москва, 101000 Россия
b Российский исследовательский институт Huawei, Смоленская площадь, 7-9, г. Москва, 121099 Россия
c Национальный исследовательский университет ИТМО , Кронверкский пр., д. 49, лит А., г. Санкт-Петербург, 197101 Россия
Список литературы:
Аннотация: В работе проводится анализ возможностей трансформации конструкций языка программирования C в объекты языка программирования EO. Особенностью рассматриваемого подхода является транспиляция из языка системного программирования в язык с более высоким уровнем абстракции, не поддерживающий непосредственные манипуляции с компьютерной памятью. К действиям, которые в этом случае необходимо поддерживать, относится использование разыменованных указателей, наложение данных различного типа на одну и ту же область памяти, а также различная интерпретация одних и тех же данных, расположенных в одном и том же адресном пространстве памяти. Принято решение о создании дополнительных EO-объектов, напрямую имитирующих непосредственную работу с компьютерной памятью в языке C и инкапсулирующих ненадежные операции с данными посредством указателей. Для отображения возможностей языка C, обеспечивающих взаимодействие с компьютерной памятью, предлагается абстрактный объект-память. Он представляет собой массив байт, при работе с которым возможны запись и чтение по заданному индексу. Для исследования вариантов и анализа полученных результатов разработан транспилятор, обеспечивающий необходимые трансформации. Он реализован на основе Clang, который формирует абстрактное синтаксическое дерево. Обработка этого дерева осуществляется с использованием библиотек LibTooling и LibASTMatchers. Рассмотренный подход оказывается целесообразным при решении ряда задач, к одной из которых относится статический анализ кода. Подобные решения позволяют выделить в отдельные программные объекты низкоуровневые фрагменты кода, акцентировав внимание на их изучении и возможных преобразованиях в более надежный код.
Ключевые слова: трансформация программ, процедурное программирование, объектно-ориентированное программирование, транспиляция, компиляция, языки программирования.
Поступила в редакцию: 07.08.2022
Исправленный вариант: 01.09.2022
Принята в печать: 02.09.2022
Тип публикации: Статья
УДК: 004.4’4
MSC: 68N15, 68Q10, 68N20
Образец цитирования: А. И. Легалов, Е. Г. Бугаенко, Н. К. Чуйкин, М. В. Шипицин, Я. И. Рябцев, А. Н. Каменский, “Трансформация модели памяти языка программирования C в объектно-ориентированное представление на языке EO”, Модел. и анализ информ. систем, 29:3 (2022), 246–264
Цитирование в формате AMSBIB
\RBibitem{LegBugChu22}
\by А.~И.~Легалов, Е.~Г.~Бугаенко, Н.~К.~Чуйкин, М.~В.~Шипицин, Я.~И.~Рябцев, А.~Н.~Каменский
\paper Трансформация модели памяти языка программирования C в объектно-ориентированное представление на языке EO
\jour Модел. и анализ информ. систем
\yr 2022
\vol 29
\issue 3
\pages 246--264
\mathnet{http://mi.mathnet.ru/mais779}
\crossref{https://doi.org/10.18255/1818-1015-2022-3-246-264}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/mais779
  • https://www.mathnet.ru/rus/mais/v29/i3/p246
  • Эта публикация цитируется в следующих 1 статьяx:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Моделирование и анализ информационных систем
    Статистика просмотров:
    Страница аннотации:74
    PDF полного текста:19
    Список литературы:9
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2024