Preview

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

Расширенный поиск
Том 34, № 4 (2022)
Скачать выпуск PDF
7-20
Аннотация

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

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

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

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

В результате работы по направлению анализа IoT-устройств авторами был создан инструмент ELF (embedded linux fuzz), который, в частности, предоставляет функционал для применения существующих средств динамического анализа в работе с различными IoT-устройствами. В статье рассматриваются вопросы применения символьного выполнения для анализа IoT-систем, построенных на базе ядер Linux, описывается способ интеграции одного из популярных фреймворков полносистемного символьного выполнения S2E в среду инструмента ELF, а также применимость полученной связки инструментов к реализации распределенного гибридного фаззинга IoT-устройств.

49-62
Аннотация

Символьное исполнение является известным подходом для автоматической генерации регрессионных тестов и поиска ошибок/уязвимостей в программах. Данная работа посвящена созданию практичного метода к символьному исполнению LLVM-программ, пригодного для работы со сложными входными структурами данных. Метод основан на известной идее ленивой инициализации, позволяющей избавить пользователя от необходимости вручную создавать ограничения на входные структуры данных и полностью автоматизировать процесс символьного исполнения программы. Предлагается два улучшения ленивой инициализации для сегментированной символьной моделей памяти – использование временных меток и информации о типах. Предложенный метод реализован в символьной виртуальной машине KLEE для платформы LLVM и протестирован на реальных C-структурах данных — списках, биномиальных кучах, AVL-деревьях, красно-чёрных деревьях, двоичных деревьях и борах (префиксных деревьях).

63-78
Аннотация

В статье рассматриваются алгоритмы статического анализа, которые направлены на поиск трех типов ошибок, связанных с понятием синхронизирующего монитора: переопределение переменной взаимоисключающей блокировки внутри критической секции; использование переменной некорректного типа при входе в монитор; блокировка с задействованием объекта, имеющего методы, которые используют для блокировки ссылку на экземпляр (this). Разработанные алгоритмы опираются на технологию символьного исполнения и опираются на межпроцедурный анализ с применением резюме функций, что обеспечивает масштабируемость, чувствительность к полям, контексту, потоку управления. Полученные методы реализованы в инфраструктуре статического анализатора SharpChecker, использующего элементы компиляторной платформы Roslyn, в виде трёх детекторов. С их помощью при тестировании на проектах с открытым кодом найдено 23 ошибки и получена доля верных срабатываний в 88.5%, в то время как потребление времени каждым детектором составляет от 0.1 до 0.7% от общего времени работы анализатора. Ошибки, для поиска которых были разработаны данные детекторы, сложно обнаружить другими способами, помимо статического анализа, из-за того, что они тесно связаны с понятием многопоточности. При этом находить их необходимо: всего один подобный дефект может привести к нестабильности работы программы и даже сделать её уязвимой для злоумышленников.

79-88
Аннотация

Индустрия разработки программного обеспечения развивается стремительными темпами. Непрерывно появляются новые языки программирования, архитектурные паттерны и подходы к разработке. Развиваться должны и инструменты, используемые программистами. Среди необходимых условий появления нового семейства инструментария следует выделить способность обучаться за счет использования моделей машинного и глубинного обучения. В данной статье будут рассмотрены достижения последних лет в области применения авторегрессионых моделей для генерации программного кода из естественного языка. Основной целью исследования является оценка того, можно ли назвать Большие трансформеры с открытым исходным кодом программистами «от природы».

89-100
Аннотация

В данной статей рассматривается новый подход к компиляции последовательных программ для их последующего выполнения на вычислительных системах с распределенной памятью. Предложенный подход был реализован в виде автоматически распараллеливающего компилятора для программ на языках Си и Фортран. Для описания параллелизма, обнаруженного в программе, используется директивная модель параллельного программирования DVMH. Таким образом, реализованный компилятор выполняет преобразование программ на уровне исходного кода, добавляя в них высокоуровневые спецификации параллелизма в терминах DVMH модели. Распараллеливание основано на анализе гнезд циклов программы, содержащих обращения к многомерным массивам, для которых большинство индексных выражений линейно зависит от индуктивных переменных циклов гнезда. Основной областью применения предложенного подхода являются программы научно-технических расчетов, реализующие вычисления на структурированных сетках. В отличие от подходов к распараллеливанию программ, предложенных в других работах, наш подход охватывает решение всех трех основных задач, возникающих при распараллеливании для систем с распределенной памятью: распределение данных, распределение вычислений и оптимизация коммуникационных обменов между узлами вычислительной системы. Для оценки эффективности получаемых параллельных программ, мы использовали некоторых приложения из набора NAS Parallel Benchmarks. В статье приведены результаты экспериментов, в которых были задействованы до 9 узлов вычислительного кластера, каждый из которых содержал два 8-ядерных процессора.

101-116
Аннотация

С разработкой динамического компилятора запросов актуальной становится задача настройки критериев оптимизатора и планировщика СУБД для выбора оптимального, с точки зрения динамической компиляции, плана запроса. Необходимость настройки критериев оптимизатора обуславливается тем, что свойства различных моделей выполнения накладывают ограничения на эффективность выполнения плана запроса с использованием определённых узлов-операторов. Так, например, используемая в динамическом компиляторе push-модель даёт преимущество при выполнении запросов с использованием последовательного сканирования. При использовании динамической компиляции сканирование индекса может выполняться значительно менее эффективно, чем последовательное сканирование. Использование в плане вершин сканирования индекса уменьшает ценность метода динамической компиляции. Для преодоления указанных проблем предлагается выполнить настройку оптимизатора СУБД таким образом, чтобы тот оценивал и учитывал эффективность использования некоторых типов узлов при построении плана запроса с его последующей динамической компиляцией. В данной работе рассматривается модификация планировщика PostgreSQL для выбора наиболее эффективного пути выполнения запроса с учётом аппаратных характеристик и различий между интерпретируемой и компилируемой моделями выполнения узлов-операторов.

117-134
Аннотация

Длительное и целостное хранение объемных научных данных является одной из важных задач, стоящих перед многими вычислительными центрами. В целях снижения стоимости хранения информации, в некоторых решениях используется технология магнитно-ленточной памяти, а также специализированное программное обеспечение для управления носителями и данными. Ввиду инфраструктурной специфики и особенностей сложившихся техпроцессов генерации и обработки данных в научных лабораториях такие программно-аппаратные комплексы создаются и поддерживаются преимущественно собственными силами этих организаций. Разработка такой системы становится еще более востребованной в условиях стремления к обретению технологического суверенитета. В работе рассматриваются вопросы организации долговременного хранения цифровых научных данных в вычислительном центре ФГУП РФЯЦ-ВНИИТФ, полученных в ходе проведения расчетов задач математического моделирования. Приводится описание архитектуры и функционального состава разработанной архивной системы хранения данных. Описывается используемая модель данных и форматы группировки и записи. Рассматриваются предпринятые меры по обеспечению целостности архивных объектов, методы управления архивными носителями и вопросы технической организации архивного фонда. Приводится схема расчета аппаратной конфигурации типовой площадки архивной системы хранения данных, достаточной для обслуживания существующих потоков архивирования данных в вычислительном центре.

135-152
Аннотация

Развитие новых технологий голосового общения привело к необходимости совершенствования методов улучшения качества речи. Современные пользователи информационных систем предъявляют высокие требования как к разборчивости голосового сигнала, так и к его субъективно воспринимаемому качеству. Данная работа посвящена развитию нового подхода к решению актуальной задачи улучшения качества речи. Для этого было предложено использовать модифицированную нейронную сеть пирамидального трансформера, использующую двухкомпонентную структуру «кодер-декодер». Кодирующая компонента сети осуществляла сжатие спектра голосового сигнала в пирамидальную серию внутренних представлений. Декодирующая компонента, используя преобразования самовнимания, восстанавливала маску комплексного отношения очищенного и искаженного сигналов на основе вычисленных кодером внутренних представлений. Были рассмотрены две возможные функции потерь для обучения предложенной нейросетевой модели. Показано, что использование частотного кодирования, подмешиваемого к входным данным, позволило улучшить качество работы предложенного подхода. Реализованная на языке Python и библиотеке глубокого обучения PyTorch нейронная сеть обучалась и тестировалась на наборе данных DNS Challenge 2021. Она продемонстрировала высокое качество работы по сравнению с другими современными методами улучшения качества речи. В работе был проведен качественный анализ процесса обучения реализованной нейронной сети, который показал, что предлагаемая нейросетевая модель постепенно переходила от простого маскирования шума на ранних эпохах обучения к восстановлению пропущенных формантных компонент голоса говорящего на более поздних эпохах. Это приводило к высоким значениям численных метрик качества работы предложенного подхода и высокому субъективному качеству речи.

153-172
Аннотация

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

173-186
Аннотация

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

187-200
Аннотация

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

201-210
Аннотация

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

211-228
Аннотация

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

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

Электрокардиограмма (ЭКГ) является одним из наиболее распространенных медицинских исследований. Качественная расшифровка 12-канальной электрокардиограммы важна для последующей постановки диагноза и назначения лечения. Один из важных шагов при расшифровке ЭКГ – определение границ элементов PQRST-комплекса. В статье рассматриваются математические методы определения границ  волн P, T и комплекса QRS, а также пиков R, P и T, приводятся недостатки математических методов определения элементов PQRST-комплекса. Кроме того, приводятся значения метрик, полученных в результате обучения нейросетевой модели сегментации PQRST-комплекса. Проведенные эксперименты показывают актуальность использования нейросетевых и комбинированных подходов к анализу комплекса PQRST.

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

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



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


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