Abstract

The paper presents result of a study on deductive verification of 26 Linux kernel library functions with AstraVer toolset. The code includes primarily string-manipulating functions and is verified against contract specifications formalizing its functional correctness properties. The paper presents a brief review of the related earlier studies, discusses their results and indicates both the previous issues that were successfully solved in this study and the ones that remain and still prevent successful verification. The paper also presents several specification practices that were applied in the study, including some common specification patterns. The authors have successfully and fully proved functional correctness of 25 functions. The paper includes results of benchmarking 5 state-of-the-art SMT solvers on the resulting verification conditions.

Highlights

  • Большинство данных функций оперируют с данными строкового типа

  • ISO/IEC 9899: 2011: C11 standard for C programming language

Read more

Summary

Инструменты верификации

Существуют различные инструменты для дедуктивной верификации программ, в том числе и для верификации кода на языке Си. Для аннотирования кода FRAMA-C использует специальный язык ANSI/ISO C Specification Language [9]. Для FRAMA-C существует несколько плагинов для дедуктивной верификации кода: WP [8], JESSIE [10] и ASTRAVER [2]. Которая заявлена его авторами — это доработка инструмента для верификации кода ядра Linux. Для доказательства функций авторы использовали плагин ASTRAVER. Плагин дедуктивной верификации ASTRAVER (как и JESSIE) транслирует внутреннее представление FRAMA-C в модель программы на языке WhyML [11], на основе реализованных в нем моделей памяти и операций с числами. Инструмент WHY3 генерирует условия верификации для программы на языке Why3ML и преобразует их во входные задания для солверов. WHY3 также поддерживает ряд трансформаций для условий верификации, например, подразбиение на отдельные условия верификации по конъюнкциям

Аналогичные работы
Язык спецификаций ACSL
Блочно-байтовая модель памяти JESSIE
Формальные спецификации
Логические функции
Нерешённые проблемы
Результаты
Результаты солверов
Интерпретация результатов
Дальнейшая работа
10. Заключение
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.