Verified Software Units for Simple DFA Modules and Objects in C

Lennart Beringer

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Scopus citations

Abstract

Finite state machines occur ubiquitously in modern software, often in the form of C code that is synthesized from higher-level descriptions. To explore how the resulting code bases can be integrated into foundational verification infrastructures, we present formal specifications and machine-checked proofs of DFA representations using VST, a higher-order separation logic for C implemented in the Coq proof assistant. Paying particular attention to modularity and API-level representation hiding, we consider statically linked modules as well as object-inspired programming styles. Exploiting the abstraction capabilities of a recent VST enhancement, Verified Software Units (VSU), we complement separate compilation by separate verification and obtain instances of behavioral subtyping as separation logic entailments between suitable object representation predicates.

Original languageEnglish (US)
Title of host publicationLeveraging Applications of Formal Methods, Verification and Validation. Software Engineering - 11th International Symposium, ISoLA 2022, Proceedings
EditorsTiziana Margaria, Bernhard Steffen
PublisherSpringer Science and Business Media Deutschland GmbH
Pages237-258
Number of pages22
ISBN (Print)9783031197550
DOIs
StatePublished - 2022
Event11th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2022 - Rhodes, Greece
Duration: Oct 22 2022Oct 30 2022

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume13702 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference11th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2022
Country/TerritoryGreece
CityRhodes
Period10/22/2210/30/22

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • General Computer Science

Keywords

  • Deterministic finite automata
  • Formal verification
  • Semantic subtyping
  • Verified Software Toolchain
  • Verified Software Units

Fingerprint

Dive into the research topics of 'Verified Software Units for Simple DFA Modules and Objects in C'. Together they form a unique fingerprint.

Cite this