На пути к верификации С-программ. Язык 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 |