Skip to main navigation Skip to search Skip to main content

Typestates Specification and Verification in Frama-C

  • Université Paris-Saclay

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

1 Citation (Scopus)

Abstract

Critical software systems need strong safety and security guarantees, since a bug can have very bad consequences. Thus, we need powerful verification techniques, such as formal methods, to assess such systems. Frama-C is an Open-Source platform for formal analysis of C code. It comes with ACSL, a specification language based on function contracts. Recently, a Frama-C plug-in has been developed for stating and verifying Typestates properties. These properties restrict possible operations on objects of a given datatype, depending on their current state. This plug-in instruments the original program with ACSL annotations, in order to use the standard Frama-C analyzers. We propose a formalization for this instrumentation, in order to prove its correctness. To this end, we rely on the Skel metalanguage, the Necrocoq tool, and the Coq proof assistant.

Original languageEnglish
Title of host publicationProceedings - 2025 IEEE/ACM 13th International Conference on Formal Methods in Software Engineering, FormaliSE 2025
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages146-156
Number of pages11
ISBN (Electronic)9798331537944
DOIs
Publication statusPublished - 1 Jan 2025
Externally publishedYes
Event13th IEEE/ACM International Conference on Formal Methods in Software Engineering, FormaliSE 2025 - Ottawa, Canada
Duration: 27 Apr 202528 Apr 2025

Publication series

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

Conference

Conference13th IEEE/ACM International Conference on Formal Methods in Software Engineering, FormaliSE 2025
Country/TerritoryCanada
CityOttawa
Period27/04/2528/04/25

Keywords

  • ACSL
  • Coq
  • Formal Methods
  • Frama-C
  • Program Analysis
  • Skel
  • Skeletal Semantics
  • Typestates
  • Verification

Fingerprint

Dive into the research topics of 'Typestates Specification and Verification in Frama-C'. Together they form a unique fingerprint.

Cite this