Preview

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

Расширенный поиск
Том 38, № 2: март-апрель
Скачать выпуск PDF
7-20
Аннотация

Задача суперразрешения изображений, решаемая с помощью глубоких нейросетей, особенно генеративно-состязательных моделей, сталкивается с проблемой появления визуальных артефактов. Эти искажения ухудшают качество результата, а их автоматическое обнаружение затруднено из-за отсутствия крупных размеченных наборов данных. Целью данной работы является разработка автоматизированного метода создания таких наборов данных для обучения и оценки моделей детекции артефактов. Предлагаемый метод использует подход состязательных атак для целенаправленного создания артефактов в выходных изображениях моделей суперразрешения. В основе метода лежит модификация итеративной атаки быстрого знака градиента. Ключевое нововведение заключается в модификации функции потерь, которая позволяет максимизировать искажения в заданной области изображения, определяемой бинарной маской, и одновременно минимизировать их в остальных частях. Это обеспечивает генерацию локализованных артефактов, имитирующих естественные дефекты. Для проверки метода был создан набор данных, содержащий более 2 тысяч примеров. Результаты экспериментов показали, что предложенный набор данных обладает качественной разметкой. Методы детекции продемонстрировали на нем значение IoU более 0.7, что существенно выше результатов, достигнутых на существующих наборах данных. Разработанный метод позволяет эффективно создавать масштабируемые и качественно размеченные наборы данных. Также был разработан нейросетевой метод, который показывает более качественные результаты по сравнению с базовым подходом. Это открывает возможности для разработки более надежных методов суперразрешения, их последующей постобработки и создания эффективных детекторов артефактов.

21-34
Аннотация

Массовое шифрование сетевого трафика делает традиционный глубокий анализ пакетов неприменимым, что требует перехода к поверхностному анализу на основе метаданных уровней OSI L2–L4. В данной работе предложен адаптивный подход к обнаружению аномалий в зашифрованном трафике, сочетающий высокопроизводительный сбор статистик, модифицированный жадный алгоритм отбора признаков и динамическую настройку гиперпараметров моделей машинного обучения. Реализация выполнена в виде NDIS-драйвера RuStatExt для Hyper-V Extensible Switch, обеспечивающего агрегацию трафика и извлечение признаков без снижения пропускной способности канала. На основе данных, собранных с более чем 2000 виртуальных машин в промышленной облачной среде, проведено сравнение методов отбора признаков (LASSO, RFE, жадный алгоритм) и моделей (Isolation Forest, Local Outlier Factor, One-Class SVM) при статической и динамической настройке параметров. Наилучший результат F1-меры, равный 0.78, достигнут моделью Isolation Forest с признаками, отобранными предложенным алгоритмом, при статической настройке гиперпараметров, что почти в 2 раза превосходит базовый подход с полным набором признаков. Драйвер не вносит статистически значимых накладных расходов при нагрузке 1 Гбит/с. Результаты подтверждают, что точное обнаружение аномалий возможно без расшифровки трафика, что обеспечивает применимость решения в современных облачных инфраструктурах.

35-52
Аннотация

Проводится анализ в среднем задачи упаковки -мерных прямоугольных параллелепипедов в контейнеры. Для решения задачи, предложен алгоритм увеличения размерности, позволяющий эффективно строить алгоритм упаковки в (d+1)-мерные контейнеры, используя алгоритм упаковки в d-мерные контейнеры. При упаковке, стремимся минимизировать ожидаемый объем незаполненного пространства использованных контейнеров. Ранее известные результаты верхней оценки числа упаковываемых параллелепипедов улучшены. Уменьшение объема незаполненного пространства подтверждают проведенные вычислительные эксперименты. При анализе алгоритмов в среднем, может возникать переобучение. Связано оно с тем, что минимальный ожидаемый объем незаполненного пространства может достигаться для одного конкретного распределения, или для семейства распределений входных параметров алгоритма, в решаемой задаче входные параметры – длины сторон параллелепипедов. Для борьбы с данным нежелательным эффектом, предложенный алгоритм увеличения размерности был обобщен на случай произвольного заранее известного распределения длин сторон параллелепипедов. Эффективность обобщенного алгоритма подтверждена вычислительными экспериментами.

53-68
Аннотация

В современных компиляторах все сильнее действуют запреты на код, который может выполнять потенциально опасные действия. Опытные разработчики часто с улыбкой оглядываются на свой старый код, удивляясь его недостатками и тому, как он вообще функционировал, а на масштабных проектах такой взгляд назад может показать все недостатки подхода к программированию в прошлые эпохи. В этой статье рассматриваются проблемы компиляции и рефакторинга legacy (унаследованного) кода на примере игрового движка Quake III (1999). Будучи знаковым проектом ранней эры 3D-графических ускорителей, игровой движок, по сути, представляет собой систему реального времени, оптимизированную для ограниченного аппаратного обеспечения – сопоставимого с современными мобильными или встроенными устройствами. Его открытая кодовая база на C, выпущенная в виде ioquake3 проекта, теперь компилируемая для всех современных архитектур, предоставляет уникальную возможность для анализа улучшения качества кода, исходя из предупреждений компилятора. В этой статье мы изучаем различия между оригинальным исходным кодом Quake III и кодом современного проекта ioquake3, кластеризуя изменения в diff-файле между этими проектами. Мы также исследуем, как исходный код игры ведет себя под современным GCC со всеми включенными предупреждениями. Категоризируя предупреждения компилятора и уже сделанные разработчиками необходимые исправления, мы выделяем шаблоны небезопасных практик и демонстрируем необходимые шаги по рефакторингу. Результаты работы призваны связать исторические практики программирования с современными стандартами надежности, предоставляя практические выводы для преподавателей программирования на C, разработчиков, сопровождающих унаследованные системы и разработчиков, интересующихся качеством кода.

69-82
Аннотация

В современном мире при использовании подходов безопасной разработки ПО анализ программ и автоматическое тестирование имеют важное значение для минимизации уязвимостей перед выпуском программного обеспечения, при этом фаззинг является быстрым и широко используемым методом динамического тестирования. Однако традиционный фаззинг с обратной связью по покрытию может быть менее эффективен в некоторых задачах, таких как проверка срабатываний статического анализа или воспроизведение ошибок, где более эффективным оказывается направленный фаззинг, ориентированный на достижение целевых точек программы с использованием метрик близости. Одними из первых направленных фаззеров являются, например, AFLGo и BEACON, которые используют разные подходы метрик близости. Хотя большинство инструментов автоматического тестирования ориентированы на анализ C/C++ кода, растущая популярность Rust и Go вызывает потребность в точных и эффективных решениях для их анализа. Данная работа расширяет применимость направленного фаззинга за пределы традиционного анализа ПО на языках C/C++. Мы представляем новый подход к направленному фаззингу, специально разработанный для приложений на языках Rust и Go. Мы предлагаем новые методы предварительной обработки программы, оптимизации компилятора rustc, а также специальные методы построения графов и инструментации для обеспечения эффективного достижения целевых точек в программе. Реализованные нами инструменты направленного фаззинга для Rust и Go, основанные на инструменте LibAFL-DiFuzz, демонстрируют конкурентные преимущества по сравнению с популярными существующими фаззерами для этих языков, такими как afl.rs, cargo-fuzz и go-fuzz. Согласно экспериментам по метрике TTE (Time to Exposure), Rust-LibAFL-DiFuzz превосходит другие инструменты по наилучшему результату. Некоторые проблемы со стабильностью могут быть объяснены различными подходами к мутации входных данных. Go-LibAFL-DiFuzz превосходит своего оппонента по лучшим показателям и, в большинстве случаев, по среднему результату, имея два случая с разницей в несколько порядков. Эти результаты доказывают более высокую эффективность и точность нашего подхода.

83-94
Аннотация

Клиент-серверные интегрированные среды разработки (IDE) представляют собой сложные системы, в которых даже незначительные изменения исходного кода могут привести к регрессиям производительности, которые невозможно обнаружить с помощью стандартных метрик. Данная статья посвящена проблеме отсутствия платформ непрерывной и воспроизводимой наблюдаемости, ориентированных на задержки, воспринимаемые разработчиком, и стабильность работы в средах динамических языков, таких как Python. В рамках работы была реализована и интегрирована в CI/CD платформа наблюдаемости промышленного уровня, которая осуществляет инструментацию бэкенд-сервисов для сбора трассировок и метрик. Для гарантии воспроизводимости рабочие нагрузки выполняются в контейнерах с фиксированными версиями на специально отобранном корпусе проектов с открытым исходным кодом. Вместо использования статических границ измерений система обнаруживает регрессии с помощью алгоритма скользящего окна, который рассчитывает робастные z-оценки (z-scores) и пороги относительного сдвига. За год эксплуатации платформа выявила более 40 проблем производительности, включая регрессию в 5-6 раз при сохранении индексов и 25% смещение в потреблении памяти, обнаруженное благодаря ночному запуску тестов. Кроме того, система подтвердила эффективность архитектурных оптимизаций, обеспечивших 30% ускорение при повторном открытии проектов. Результаты демонстрируют, что оповещение на основе относительных показателей в скользящем окне значительно надежнее фиксированных пороговых значений для обнаружения аномалий в составных системах. Данный подход доказывает, что всесторонняя наблюдаемость достижима с ничтожно малыми накладными расходами во время выполнения, что разработчикам выявлять и устранять регрессии до слияния веток кода.

95-110
Аннотация

В статье описывается подход к повышению полноты анализа за счет генерации эквивалентного кода из внешних файлов. Метод восстанавливает неявные связи между элементами пользовательского интерфейса и обработчиками событий путем анализа разметки, извлечения семантических связей и генерации эквивалентного кода на C#, который моделирует сценарии взаимодействия с пользователем. Этот метод был реализован в статическом анализаторе SharpChecker с акцентом на приложения WPF. Он включает в себя синтаксический анализ XAML, извлечение ViewModel для шаблонов MVVM и генерацию кода на основе CodeDom, имитирующую обработку событий и вызовы команд в ответ на действия пользователя. Эксперименты в пяти проектах WPF с открытым исходным кодом выявили 84 новых положительных предупреждений, включая ошибки деления на ноль и ранее пропущенные разыменования нулевых указателей. Этот подход обеспечивает минимальные затраты на анализ и легко интегрируется с существующими анализаторами. Результаты демонстрируют, что генерация эквивалентного кода значительно повышает полноту статического анализа использующих фреймворки приложений.

111-128
Аннотация

Большие языковые модели находят всё более широкое применение в разработке программного обеспечения. Однако исследование корректности генерируемого ими кода осложняется недостаточной формализацией понятия корректности программ. В данной работе описан вероятностный подход к оценке корректности кода, генерируемого нейросетями. Предложена метрика корректности TSA (Test Suite Accuracy), естественным образом выводимая в данной формализации, а также проводится сравнение с метрикой Pass@1. Проведённые эксперименты с 5 языковыми моделями Phi-1, Phi-2, Phi-3-mini-4k, Phi-4-mini и Qwen2.5-Coder подтверждают описанные теоретические свойства метрик. Практическим результатом проведённого исследования являются набор задач HumanEval++, расширяющий набор данных HumanEval+, и построенная на его основе реализация метрики TSA.

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

Полносистемные эмуляторы позволяют имитировать работу всей машины, включая процессор и периферию. Данная технология значительно упрощает разработку и отладку программ под различные платформы, так как она избавляет от необходимости иметь в распоряжении соответствующую аппаратуру. Полносистемные эмуляторы в основном используют динамическую двоичную трансляцию для приемлемой производительности. Целью данной работы является повышение производительности динамической двоичной трансляции путём применения оптимизаций передачи управления. В статье проводится обзор различных оптимизаций с учётом ограничений полносистемных эмуляторов, в том числе рассматривается проблема межстраничных переходов. Для реализации были выбраны межстраничное связывание и программное предсказание. При анализе существующих решений доказывается, что один из методов проверки межстраничных переходов неверен, а для корректного метода предлагается улучшенный алгоритм, составленный с учётом особенностей гостевой архитектуры. Помимо этого, в статье приводится новый подход к реализации программного предсказания в полносистемных эмуляторах, который упрощает проверочный код и увеличивает точность предсказания. Данные оптимизации были реализованы в полносистемном эмуляторе QEMU. Тесты на двух разных машинах показали, что производительность QEMU была улучшена на 23,5% и 21,1% в среднем, а максимум улучшения составил 89,9% и 76,9% соответственно.

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

В данной работе рассматривается задача автоматического извлечения атрибутов из новостных веб-страниц на разных языках. Автоматическое извлечение структурированной информации из новостных веб-страниц имеет ключевое значение для мультиязычного веб-майнинга, агрегаторов данных и аналитических приложений. Актуальные нейросетевые подходы, хотя и демонстрируют высокую эффективность на англоязычных наборах данных для задачи извлечения из веб-страниц, предварительно обучены на англоязычных данных, что ограничивает их применимость к другим языкам. Мы представляем первый крупномасштабный мультиязычный набор данных для извлечения атрибутов новостных веб-страниц, включающий 29 081 аннотированные веб-страницы с 759 веб-сайтов на 56 языках. Каждая страница содержит привязанные к DOM-узлам аннотации до пяти ключевых атрибутов новости (заголовок, дата публикации, текст, авторы и теги), а также исходные HTML- и MHTML- файлы, их переведённые на английский язык версии, скриншоты и метаданные рендеринга на уровне узлов. Мы оцениваем ряд открытых методов извлечения данных, включая эвристические инструменты и современные трансформерные модели. В частности, мы дообучаем предобученную англоязычную модель MarkupLM как на оригинальных, так и на переведённых на английский страницах, а также с нуля предобучаем мультиязычную модель на основе DOM-LM на мультиязычном корпусе новостных веб-страниц с последующим дообучением на нашем наборе данных. Экспериментальная оценка показывает, что мультиязычный DOM-LM демонстрирует лучшее общее качество по большинству атрибутов и языков без использования машинного перевода, тогда как MarkupLM выигрывает от перевода, но является менее стабильным в мультиязычном сценарии. Представленный набор данных и все обученные модели опубликованы для практического использования и будущих исследований в области мультиязычного извлечения информации из Интернета и связанных приложений в новостном домене.

165-182
Аннотация

В работе исследовалась задача извлечения из студенческих отчетов ИТ-направлений предметно-ориентированных сущностей (ПОС), являющихся ключевыми терминами, навыками, именованными сущностями, отражающими тематическую специфику текста. В качестве решений рассматривались инструмент извлечения ключевых слов rutermextract, дообученная языковая модель mBART, большие языковые модели, управляемые инструкциями (YandexGPT, Saiga, Tlite). Дообучение mBART эффективно при достаточном объеме данных. Модели на инструкциях превзошли rutermextract, перспективны при малых объемах данных, особенно Saiga, выявляющая ядро сущностей. Выявлено, что стратегия выделения ПОС в тексте точнее, чем извлечение в виде списка. Однако задача требует дополнительных исследований: ошибочное извлечение ПОС (67-89%), проявляющееся в отсутствии пересечений с эталонными ПОС, указывает на трудности моделей в отделении ядра сущности от контекста. Основные ограничения – малый корпус (2933 текста) и простые инструкции. Перспективы исследования: детализированные инструкции, оценка подходов в других областях и типах текстов.

183-194
Аннотация

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

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

Представленная работа развивает результаты исследования автора по использованию динамических характеристик движения пера для повышения качества распознавания рукописного текста. В настоящей статье мы объединяем ранее предложенную динамическую компоненту (угловые и спектральные признаки траекторий) с флагманской моделью глубокой нейронной сети распознавания изображений ConvNeXtV2 tiny, и проводим исследование на трех наборах данных: EMNIST (by_class), UJI Pen Characters 2 и собственном наборе Russian Handwritings Tracked. Показано, что после умеренной настройки аугментаций визуальная ветвь достигает на наборе EMNIST результата уровня SOTA среди сравниваемых моделей, тогда как динамическая ветвь и их ансамбль обеспечивают прирост устойчивости на наборах с большей вариативностью почерка (UJI, Russian Handwritings Tracked). Итоги подтверждают комплементарность визуальных и кинематических признаков и указывают на перспективность метода для сценариев «сложного почерка».

207-226
Аннотация

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

227-240
Аннотация

В статье описывается использование тезауруса RuThes и векторных представлений Word2vec для задачи определения лексической типологии языков. Актуальность работы обусловлена необходимостью проводить типологические исследования языков и слабо развитыми средствами автоматизации данного направления. Сделан обзор существующих методов определения лексической типологии, описаны достоинства и недостатки каждого метода, предложен подход автоматизированного выделения типологий. Также описываются различные виды отношений RuThes. Дано описание используемых корпусов текстов. В качестве примера исследуются семантические зоны “тянуть-толкать” и “чинить-портить”. Получены фреймы для данных семантических зон. Проанализированы извлеченные слова, реализующие семантические зоны, и произведено сравнение с ручным методом. Сравниваются три способа выделения лексической типологии: только с помощью тезауруса, с помощью тезауруса и фильтрации по Word2vec и с помощью тезауруса и добавления ближайших слов по Word2vec. Произведена оценка и сравнение с существующими методами. Для каждого способа посчитана полнота, точность и F-мера. Выявлено, что наилучшие результаты для семантической зоны “тянуть-толкать” дает комбинация использования тезауруса и фильтрации по Word2vec. Добавление же дополнительных ближайших слов по Word2vec ухудшает все метрики кроме F-меры для семантической зоны “толкать”. При этом использование только тезауруса уже дает хорошие результаты, которые могут помочь исследователям языков. Для семантической зоны “чинить-портить” самые лучшие результаты показывает подход с тезаурусом, фильтрацией и добавлением ближайших по Word2vec. Предложено объяснение полученных результатов. Программная реализация выполнена с помощью языка программирования Python3, библиотек Gensim для получения векторов Word2vec, Scikit-learn для сравнения векторов, Numpy для работы с массивами, Pymorphy2 для приведения в начальную форму, NLTK для фильтрации стоп-слов и xml.etree для работы с тезаурусом. Практическая значимость заключается в разработке автоматизированного метода помощи лингвистам и оценке его работы.

241-254
Аннотация

Статья посвящена исследованию графических и фонетических особенностей словников Йоганна Эберхарда Фишера «Tatarica [ob urben Caʃan]» и «Tatarorum Kuznezensium [ad Tomum, Tschumysch]» при помощи цифровых инструментов платформы LingvoDoc с целью уточнения особенностей словарного материала XVIII века. Материалом послужили 317 лексем с русским переводом Й.Э. Фишера, собранных по единой схеме в различных ареалах. Этимологическая проверка и сопоставление с древнетюркской лексикой проводились с привлечением базы данных «Starling», а также современных словарей татарского (TATZET) и шорского («Тадар тили») языков. Были сделаны следующие выводы: в XVIII веке в обоих словниках обнаруживается значительное фонетическое сходство данных Й.Э. Фишера и современных языков. Различие наблюдается в сохранении архаичного вокализма в «Tatarorum Kuznezensium». В словнике «Tatarica [ob urben Caʃan]» древнетюркский [*о] и [*u] сохраняется, а архаичный древнетюркский [*е] перешел к гласному [i], как и в современном татарском языке, произошел поволжский перелом гласного. Несмотря на некоторые различия, текст словника «Tatarica [ob urben Caʃan]» близок к современному татарскому языку. Татарский язык развивал собственные инновации, уже намеченные в материалах Фишера. Преемник «Tatarorum Kuznezensium» (современный шорский язык) подвергся фонетической эволюции после XVIII века, в частности, изменениям в консонантизме, таким как оглушение.

255-268
Аннотация

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

269-286
Аннотация

Исследование динамики объектов с движущимися границами, описываемых одномерными краевыми задачами, представляет значительный интерес для современных инженерных и научных расчетов.  В статье представлен разработанный программный комплекс «TB-ANALYSIS», созданный в среде MATLAB для математического моделирования и анализа резонансных характеристик объектов с движущимися границами.  Ключевой особенностью комплекса является интеграция классических численных методов с современными алгоритмами искусственного интеллекта. Для решения краевых задач реализованы три основных метода: аналитический метод замены переменных в системе функционально–разностных уравнений, асимптотический метод и приближенный метод построения решений интегро–дифференциальных уравнений. Интеллектуальный выбор метода осуществляется автоматически в зависимости от типа решаемой задачи. Архитектура комплекса включает взаимосвязанные модули, доступ к которым осуществляется через единый графический интерфейс. Основные модули предназначены для исследования решений краевых задач, анализа резонансных свойств и управления резонансными явлениями. Для обеспечения точности вычислений реализована специальная процедура оценки погрешности на каждом шаге. Для демонстрации возможностей комплекса выполнено исследование поперечных колебаний вязкоупругого каната переменной длины, лежащего на упругом основании. Основное внимание уделено применению методов искусственного интеллекта, нейронных сетей и машинного обучения для анализа резонансных явлений, прогнозирования оптимальных параметров системы и предотвращения резонанса. Использование глубоких нейронных сетей и адаптивного управления повысило точность прогнозов и эффективность управления системой. В результате нейросеть позволяет прогнозировать резонансные частоты и предлагает оптимальные параметры. Расчеты подтвердили, что параметры, предложенные искусственным интеллектом, действительно предотвращают резонанс. Разработанный программный комплекс представляет собой эффективный инструмент для исследования динамики объектов с движущимися границами. Перспективы дальнейшего развития связаны с расширением класса решаемых задач и реализацией дополнительных численных методов.



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


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