Search Results

Documents authored by Leino, K. Rustan M.


Artifact
Software
dafny-lang/b3

Authors: Vladimir Gladshtein and K. Rustan M. Leino


Abstract

Cite as

Vladimir Gladshtein, K. Rustan M. Leino. dafny-lang/b3 (Software, Dafny implementation). Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2026)


Copy BibTex To Clipboard

@misc{dagstuhl-artifact-27039,
   title = {{dafny-lang/b3}}, 
   author = {Gladshtein, Vladimir and Leino, K. Rustan M.},
   note = {Software, swhId: \href{https://archive.softwareheritage.org/swh:1:dir:1795668a148637332f93759bb96a4cd4283d6e32;origin=https://github.com/dafny-lang/b3;visit=swh:1:snp:648aaa9b8094ff8bbc35fddd2bcb5703151269fe;anchor=swh:1:rev:b24a2b2d6101df900e67d3bb151c4e85af4cd16d}{\texttt{swh:1:dir:1795668a148637332f93759bb96a4cd4283d6e32}} (visited on 2026-07-16)},
   url = {https://github.com/dafny-lang/b3},
   doi = {10.4230/artifacts.27039},
}
Document
Formalization of a Realistic Verification-Condition Generator for an Intermediate Verification Language

Authors: Vladimir Gladshtein and K. Rustan M. Leino

Published in: LIPIcs, Volume 382, 17th International Conference on Interactive Theorem Proving (ITP 2026)


Abstract
Intermediate Verification Languages (IVLs) play the same role in verification as Intermediate Representations in compilation, a layer that separates a verifier’s language-specific front-end from its logic automation back-end. Successful IVL tools such as Boogie, Why3, and Viper generate Verification Conditions (VCs) that are sent to an SMT solver. The verifier output can be trusted only if these VCs are sound with respect to the formal semantics of the IVL. Formalizing the semantics of IVLs and verifying the soundness of corresponding VC Generators with respect to this semantics is challenging if one wants to model realistic features of IVLs such as mutually recursive definitions, lexical variable and control-flow labeled scopes, interpreted and uninterpreted functions, and unbounded loops. B3 is a new IVL. This paper presents a formalization of B3’s semantics, a VC Generator for the language, and a soundness proof that these two correspond. A key practical contribution of this work is that all three components are authored in the Dafny programming language and verifier. This makes it easy for a tool maintainer to maneuver between the semantic definitions, the proofs, and the VCG’s executable code. The key theoretical contribution of the work is a methodology to split the IVL’s semantic encodings into two layers of abstraction to cover realistic aspects of the semantics, while keeping the proofs amenable to automation. Optimized for Dafny-style automation, the first layer is used to verify the correctness of the VC Generator procedure. Optimized for expressiveness, the second layer is used to capture the semantics in a natural way.

Cite as

Vladimir Gladshtein and K. Rustan M. Leino. Formalization of a Realistic Verification-Condition Generator for an Intermediate Verification Language. In 17th International Conference on Interactive Theorem Proving (ITP 2026). Leibniz International Proceedings in Informatics (LIPIcs), Volume 382, pp. 11:1-11:19, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2026)


Copy BibTex To Clipboard

@InProceedings{gladshtein_et_al:LIPIcs.ITP.2026.11,
  author =	{Gladshtein, Vladimir and Leino, K. Rustan M.},
  title =	{{Formalization of a Realistic Verification-Condition Generator for an Intermediate Verification Language}},
  booktitle =	{17th International Conference on Interactive Theorem Proving (ITP 2026)},
  pages =	{11:1--11:19},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-436-9},
  ISSN =	{1868-8969},
  year =	{2026},
  volume =	{382},
  editor =	{Komendantskaya, Ekaterina and Nipkow, Tobias},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ITP.2026.11},
  URN =		{urn:nbn:de:0030-drops-269855},
  doi =		{10.4230/LIPIcs.ITP.2026.11},
  annote =	{Keywords: Intermediate verification language, Soundness, Verification, B3, Dafny, SMT solvers}
}
Any Issues?
X

Feedback on the Current Page

CAPTCHA

Thanks for your feedback!

Feedback submitted to Dagstuhl Publishing

Could not send message

Please try again later or send an E-mail