На пути к верификации С-программ. Язык c-light и его трансформационная семантика

Предложен ориентированный на верификацию язык C-light, который является представительным подмножеством языка С. Важные отличительные черты языка С-light — это детерминированная семантика выражений, ограниченное использование операторов switch и goto, и применение операций new и delete языка С++ дл...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2006
Автори: Непомнящий, В.А., Ануреев, И.С., Промский, А.В.
Формат: Стаття
Мова:Russian
Опубліковано: Інститут програмних систем НАН України 2006
Теми:
Онлайн доступ:https://nasplib.isofts.kiev.ua/handle/123456789/1523
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Цитувати:На пути к верификации С-программ. Язык c-light и его трансформационная семантика / Непомнящий В.А., Ануреев И.С., Промский А.В. // Проблеми програмування. — 2006. — N 2-3. — С. 359-368. — Бібліогр.: 19 назв. — рос.

Репозитарії

Digital Library of Periodicals of National Academy of Sciences of Ukraine
Опис
Резюме:Предложен ориентированный на верификацию язык C-light, который является представительным подмножеством языка С. Важные отличительные черты языка С-light — это детерминированная семантика выражений, ограниченное использование операторов switch и goto, и применение операций new и delete языка С++ для работы с динамической памятью вместо библиотечных функций. Для верификации C-light программ применяется двухуровневый подход, включающий этапы трансляции языка C-light в его ядро — язык C-kernel и генерации условий корректности с помощью аксиоматической семантики C-kernel. Описаны правила перевода из языка C-light в язык C-kernel и метод формального обоснования их корректности. A verification-oriented language C-light which is a representative subset of the language C is proposed. Essential features of C-light are deterministic semantics of expressions, restricted use of statements switch and goto, the use of operators new and delete of the language C++ to handle with dynamic memory instead of the use of appropriate library functions. We suggest two-level approach to C-light program verification which includes translation from C-light to its kernel called C-kernel and generation of verification conditions by axiomatic semantics of C-kernel. Rules for translation from C-light to C-kernel and a method of formal justification of their correctness are presented.
ISSN:1727-4907