Methodology for Specification and Verification of High-Level Requirements with MetAcsl

Virgile Robles, Nikolai Kosmatov, Virgile Prevosto, Louis Rilling, Pascale Le Gall

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Specification and formal verification of high-level properties (such as security properties, like data integrity or confidentiality) over a large software product remains an important challenge for the industrial practice. Recent work introduced METACSL, a plugin of the FRAMA-C verification platform, that allows the user to specify high-level properties, called HIgh-Level ACSL REquirements or HILARE, for C programs and transform them into assertions that can then be verified by classic deductive verification. This paper presents a methodology of specification and verification of a wide range of high-level properties with METACSL and illustrates it on several examples. The goal is to provide verification practitioners with detailed methodological guidelines for common patterns of properties in order to facilitate their everyday work and to avoid some frequent pitfalls. The illustrating examples are inspired by very usual kinds of properties and illustrated on two use cases. One of them - on the real-life code of the bootloader module of the secure storage device Wookey - was fully verified using the described approach, demonstrating its capacity to scale to real-life code. The other one - on a microkernel of an OS - was added to illustrate other common properties, where the description of the system was intentionally left very generic.

Original languageEnglish
Title of host publicationProceedings - 2021 IEEE/ACM 9th International Conference on Formal Methods in Software Engineering, FormaliSE 2021
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages54-67
Number of pages14
ISBN (Electronic)9781665439138
DOIs
Publication statusPublished - 1 May 2021
Externally publishedYes
Event9th IEEE/ACM International Conference on Formal Methods in Software Engineering, FormaliSE 2021 - Virtual, Online, Spain
Duration: 17 May 202121 May 2021

Publication series

NameProceedings - 2021 IEEE/ACM 9th International Conference on Formal Methods in Software Engineering, FormaliSE 2021

Conference

Conference9th IEEE/ACM International Conference on Formal Methods in Software Engineering, FormaliSE 2021
Country/TerritorySpain
CityVirtual, Online
Period17/05/2121/05/21

Keywords

  • C programming language
  • high level
  • methodology
  • specification
  • verification

Fingerprint

Dive into the research topics of 'Methodology for Specification and Verification of High-Level Requirements with MetAcsl'. Together they form a unique fingerprint.

Cite this