Preview

Труды Института системного программирования РАН

Расширенный поиск
Том 37, № 6: часть 3. ноябрь-декабрь
Скачать выпуск PDF
7-18
Аннотация

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

19-44
Аннотация

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

45-58
Аннотация

В работе рассматривается оптимизация, позволяющая переложить часть вычислений, связанных с трансляцией гостевых виртуальных адресов при полносистемной эмуляции с программного MMU на MMU хостовой системы. Описан вариант применения оптимизации к эмулятору Qemu. Выполнена оценка прироста производительности от использования оптимизации, предложен вариант дальнейшего развития подхода.

59-72
Аннотация

Семантический разрыв представляет собой одну из ключевых проблем в разработке решений полносистемного динамического анализа кода. Она заключается в том, что на уровне гипервизора инструмент имеет доступ только к низкоуровневым бинарным данным выполняемого кода, в то время как для анализа требуется высокоуровневая информация о состоянии объектов гостевой операционной системы. Данную проблему решают подходы интроспекции виртуальной машины. К сожалению, реализации существующих подходов сталкиваются с проблемами производительности и недостатка функционала, требуют от пользователя внедрять в образ виртуальной машины специальные агенты или иметь в наличии отладочные символы к ядру, а также оказываются заточенными под специфичные системы и архитектуры процессоров. В статье представлен ряд решений, помогающих снизить накладные расходы и добиться большей универсальности для инструмента анализа. Особенность разработанного подхода интроспекции заключается в том, что необходимую для анализа информацию он собирает в процессе запуска системы на эмуляторе, не требуя при этом каких-либо дополнительных действий со стороны пользователя.

73-90
Аннотация

Статья представляет обзор современных методов переноса обучения (transfer learning) в сетевых системах обнаружения вторжений (СОВ), ориентируясь на проблему устойчивости моделей в условиях дрейфа сетевых данных, изменчивости трафика и появления новых типов атак. Рассматриваются основные парадигмы переноса – параметрический, признаковый и основанный на отношениях – и их адаптация к задаче обнаружения аномалий и классификации сетевых вторжений. Особое внимание уделено различиям между методами на основе анализа статистических свойств сетевых потоков и методами на основе анализа пакетов. На основе анализа существующих работ демонстрируется, что использование переноса обучения позволяет существенно повысить устойчивость сетевых СОВ к изменениям инфраструктуры и распределений данных, однако сталкивается с проблемами негативного переноса, недостатка репрезентативных источников домена и усложнения архитектур. В завершение формулируются ключевые направления дальнейших исследований, включая адаптивные модели с учётом дрейфа, перенос в условиях ограниченных данных и интеграцию с потоковыми методами машинного обучения.

91-108
Аннотация

Дизайн и реализация корректных алгоритмов многопоточной синхронизации являются неотъемлемой частью разработки современных операционных систем реального времени. Тестирование корректности алгоритма в модели памяти языка – одна из важнейших задач на этом пути. В статье описывается интеграция широко используемого алгоритма обнаружения гонок данных ThreadSanitizer из программной инфраструктуры LLVM в систему сборки и тестирования ядра операционной системы реального времени и его преимущества и недостатки в сравнении с другими подходами обнаружения ошибок многопоточной синхронизации. Среди прочего рассматривается определение семантики управления прерываниями и работы с физическими ядрами в контексте синхронизации в модели «выполняется прежде» (happens-before). В заключение приводятся результаты интеграции инструмента ThreadSanitizer в ядро операционной системы реального времени CLOS в сравнении с существующими подходами обнаружения ошибок в ядре данной операционной системы.

109-120
Аннотация

В статье предлагается подход к статическому анализу программ на языке Python на основе низкоуровневого внутреннего представления и девиртуализации, который позволяет выполнять межпроцедурный и межмодульный анализ. Подход применим к программам, не содержащим ручных аннотаций типов, и может быть использован для поиска сложных ошибок, которые не ищутся популярными инструментами на основе анализа АСД. Представление для анализа строится по байткоду CPython, затем в результате работы межпроцедурного алгоритма девиртуализации разрешаются вызовы. Предлагаемый подход к девиртуализации уже реализован для языков C, C++, Java, Go и показал хорошие результаты без необходимости изменения существующих детекторов. После адаптации алгоритма для языка Python доля истинных срабатываний детекторов для Python составила от 60% до 96%. Таким образом, изначально предложенный для статически типизированных языков алгоритм оказался применимым к языку Python.

121-132
Аннотация

Восстановление после ошибок – один из ключевых компонентов технологии синтаксического анализа, особенно в таких приложениях, как IDE и компиляторы, где синтаксические ошибки не должны блокировать анализ входных данных. В данной статье представлен PereFlex – инструмент для экспериментальной оценки восстановления после ошибок в анализаторах, работающих на платформе JVM. Оценка основана на реальных парсерах для Java и ошибочных пользовательских программах. Полученные данные указывают на обратную зависимость между скоростью работы и качеством восстановления: продвинутые методы, обеспечивающие качественное восстановление, сопряжены с высокой вычислительной сложностью.

133-148
Аннотация

Для обнаружения состояний гонки в многопоточных программах могут использоваться методы динамического анализа. Динамические методы основаны на наблюдении за поведением программы при её реальном выполнении. Так как анализ всех возможных путей выполнения в общем случае неосуществим (из-за комбинаторного взрыва числа возможных чередований потоков), динамические методы могут упускать определённые ошибки, проявляющиеся только при специфических условиях или порядке выполнения потоков. Это ограничение относится, например, к подходу, реализованному в предыдущей версии инструмента RaceHunter, который демонстрирует способность эффективно выявлять состояния гонки, но всё же может пропускать отдельные случаи. Для решения проблемы комбинаторного взрыва может использоваться анализ с ограничением числа переключений потоков (англ. context bounding). Этот метод подразумевает исследование только тех путей выполнения, в которых ограничено число переключений потоков, что позволяет сделать анализ более масштабируемым. Анализ с ограничением числа переключений потоков способен выявлять ошибки, пропускаемые другими методами, при ограничении всего в два принудительных переключения потоков.

В данной работе мы представляем реализацию анализа с ограничением количества переключений потоков в инструменте RaceHunter, который обеспечивает единую платформу для описания различных методов динамического анализа. Оценка показала, что предложенный подход способен выявлять состояния гонки, которые были пропущены другими методами, хотя и ценой значительного увеличения времени анализа. Как и ожидалось, это увеличение времени связано с повторными запусками программы. Тем не менее, реализация представляет собой важную основу для будущей интеграции с другими техниками обнаружения состояний гонки, в частности с подходом, уже реализованным в инструменте RaceHunter.

149-162
Аннотация

Статья посвящена возможностям технологии искусственного интеллекта для поиска новых этимологий. Она состоит из двух частей, первая посвящена описанию того, как устроена нейросеть, во второй части приведены примеры типов новых этимологий: эрзянские дополнения для существующих общеизвестных этимологий, сепаратные финско-эрзянские параллели, новые гипотезы о заимствовании из балтийских и германских языков. Целью работы - показать, какие новые этимологии возможно предложить в достаточно сжатые сроки для языков с разработанной этимологической традицией благодаря использованию нейросети. Материалы исследования: финско-русский словарь, который содержит 17 212 лексем, и эрзянско-русский словарь, объемом 8 512 лексем, размещенные на платформе ЛингвоДок. В результате работы создана нейросеть, которая может предлагать новые этимологии для словарей, размещенных на платформе lingvodoc.ispras.ru, с ее помощью обработаны словари финского и эрзянского языков, выявлено более 100 новых этимологий, из них в статье разобрано 16 этимологий, которые относятся как к исконной финно-угорской лексике, так и к заимствованиям.

163-176
Аннотация

В современном ресторанном бизнесе точное сопоставление номенклатуры продуктов между ресторанами и поставщиками является критически важной задачей. Эффективное управление запасами и оптимизация закупок напрямую влияют на прибыльность бизнеса. С ростом числа поставщиков и ассортимента продукции традиционные методы сопоставления становятся менее эффективными. В данном исследовании предлагается использовать большие языковые модели (LLM) для автоматизации и повышения точности сопоставления продуктов. В рамках пилотного проекта для ресторанного холдинга мы протестировали пять групп продуктов (креветки, угорь, сыр пармезан, творог, сливочное масло), достигнув средней точности тестирования 83,8%. Архитектура решения использует быстрое проектирование, платформы с низким уровнем кода, такие как Flowise, и интеграцию с Telegram для удобной обработки данных. Ключевые проблемы, включая семантическую неоднозначность и галлюцинации моделей, были решены с помощью предметно-ориентированных словарей и валидации. Такой подход сокращает ручную работу примерно на 90%, что позволяет создавать масштабируемые решения для цепочки поставок, применимые не только в ресторанах, но и в розничной торговле и электронной коммерции.

177-188
Аннотация

В статье представлена модель на основе сверточной нейронной сети, которая ставит в соответствие изображению текста векторы, кодирующие информацию о шрифтах. Модель состоит из двух идентичных сверточных блоков, объединяющих признаки в вектор, который затем анализируется линейными слоями для поиска отличий. Обученная таким образом модель способна различать шрифты, игнорируя содержание текста, что делает ее универсальной для различных типов документов. Векторные представления шрифтов тестируются на дополнительных задачах, таких как классификация текста по жирности начертания и наклону, демонстрируя высокую точность и подтверждая их полезность для анализа стилевых особенностей. Эксперименты с вариативными и ручными шрифтами показывают универсальность модели и ее применимость для работы с разнообразными данными. Результаты сравнения с базовой моделью подтверждают эффективность предложенной архитектуры. Однако выявлены ограничения, связанные с работой на данных низкого качества и мультиязычных текстах, что открывает направления для будущих исследований. Предложенный подход представляет значительный вклад в область обработки документов, расширяя возможности анализа шрифтов и их использования в задачах классификации, поиска и выделения ключевых элементов текста. Код и модели были опубликованы на GitHub (https://github.com/YRL-AIDA/FontEmb).

189-202
Аннотация

Гидродинамический расчет аттракторов внутренних волн представляет собой довольно трудоемкую задачу с вычислительной точки зрения. Особенностью волновых аттракторов является то, что для конкретной геометрии аттрактор определенного типа формируется лишь для некоторого диапазона частот, что вызывает необходимость провести необходимые процедуры препроцессинга и проверить наличие аттрактора в выбранной постановке до начала самого расчета. Одним из способов это сделать является метод трассировки лучей, который воспроизводит распространение внутренних гравитационных волн в невязком линейном приближении. В статье рассматривается алгоритм трассировки лучей для широкого спектра профилей стратификации жидкости в достаточно произвольной области. Описываются эффекты, которые необходимо учитывать при применении метода. Приводятся результаты расчетов, включая специальные типы когерентных структур. Предлагается способ оценки скорости сходимости лучей.

203-216
Аннотация

В работе предложена математическая модель для изучения эрозии берегового склона протоки Пемзенской (река Амур) в районе переливной запруды после формирования и расширения прорана. Проран в переливной запруде образовался из-за размыва правого берега во время половодий 2019–2022 годов. Известно, что время установления гидродинамических параметров потока значительно короче времени изменения его расхода, поэтому поток в районе запруды описывается в рамках квазистационарного приближения. Для моделирования турбулентной вязкости потока используется алгебраическая модель Лео К. ван Рейна. Изменения донных и береговых отметок русла вычисляются с помощью аналитической модели движения наносов, разработанной в трудах Петрова, Потапова (2019). Чтобы предотвратить заиливание прорана при боковом перемещении донного материала с сухого берега, в уравнение донных деформаций введен стоковый член. Этот член регулирует глубину прорана, которая асимптотически стремится к его режимной глубине. Для решения задачи численно разработан алгоритм на основе метода конечных элементов. Выполнено сравнение результатов расчетов береговых деформаций с экспериментальными данными, показавшее их хорошее качественное и количественное согласование. Экспериментальные данные получены из информационной системы «Амур» с открытым исходным кодом.



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)