RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2015, том 27, выпуск 4, страницы 49–68 (Mi tisp164)

Эта публикация цитируется в 1 статье

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

М. У. Мандрыкинa, А. В. Хорошиловbacd

a Институт системного программирования РАН
b Московский физико-технический институт (государственный университет)
c Московский государственный университет имени М. В. Ломоносова
d НИУ Высшая школа экономики

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

Ключевые слова: Верификация, параллелизм, владение, инварианты, семантика языка C.

DOI: 10.15514/ISPRAS-2015-27(4)-4



Реферативные базы данных:


© МИАН, 2024