Passer à la navigation principale Passer à la recherche Passer au contenu principal

coma, an Intermediate Verification Language with Explicit Abstraction Barriers

  • Université Paris

Résultats de recherche: Le chapitre dans un livre, un rapport, une anthologie ou une collectionContribution à une conférenceRevue par des pairs

Résumé

We introduce coma, a formally defined intermediate verification language. Specification annotations in coma take the form of assertions mixed with the executable program code. A special programming construct representing the abstraction barrier is used to separate, inside a subroutine, the “interface” part of the code, which is verified at every call site, from the “implementation” part, which is verified only once, at the definition site. In comparison with traditional contract-based specification, this offers us an additional degree of freedom, as we can provide separate specification (or none at all) for different execution paths. We define a verification condition generator for coma and prove its correctness. For programs where specification is given in a traditional way, with abstraction barriers at the function entries and exits, our verification conditions are similar to the ones produced by a classical weakest-precondition calculus. For programs where abstraction barriers are placed in the middle of a function definition, the user-written specification is seamlessly completed with the verification conditions generated for the exposed part of the code. In addition, our procedure can factorize selected subgoals on the fly, which leads to more compact verification conditions. We illustrate the use of coma on two non-trivial examples, which have been formalized and verified using our implementation: a second-order regular expression engine and a sorting algorithm written in unstructured assembly code.

langue originaleAnglais
titreProgramming Languages and Systems - 34th European Symposium on Programming, ESOP 2025, Held as Part of the International Joint Conferences on Theory and Practice of Software, ETAPS 2025, Proceedings
rédacteurs en chefViktor Vafeiadis
EditeurSpringer Science and Business Media Deutschland GmbH
Pages175-201
Nombre de pages27
ISBN (imprimé)9783031911200
Les DOIs
étatPublié - 1 janv. 2025
Modification externeOui
Evénement34th European Symposium on Programming, ESOP 2025, which was held as part of the International Joint Conferences on Theory and Practice of Software, ETAPS 2025 - Hamilton, Canada
Durée: 3 mai 20258 mai 2025

Série de publications

NomLecture Notes in Computer Science
Volume15695 LNCS
ISSN (imprimé)0302-9743
ISSN (Electronique)1611-3349

Une conférence

Une conférence34th European Symposium on Programming, ESOP 2025, which was held as part of the International Joint Conferences on Theory and Practice of Software, ETAPS 2025
Pays/TerritoireCanada
La villeHamilton
période3/05/258/05/25

Empreinte digitale

Examiner les sujets de recherche de « coma, an Intermediate Verification Language with Explicit Abstraction Barriers ». Ensemble, ils forment une empreinte digitale unique.

Contient cette citation