The workshop will be held in Soda Hall, room 320.
An intermediate verification language (IVL), like Boogie or Why, is used as a stepping stone between a source language and a reasoning engine. IVLs promote modularization and sharing of infrastructure. For example, the same IVL can have multiple source language front-ends and multiple reasoning engine back-ends, forming a verification tool bus. The goal of the BOOGIE Workshop is to advance theory and techniques supporting IVLs, to bring together researchers working with IVLs, and to promote sharing of infrastructure that they build.
The workshop is intended for topics related to any intermediate verification language, not just Boogie.
There are several workshops that focus on specification features and their encodings, as seen from the perspective of the end-user of the verification tool (SAVCBS and FTFJP). On the other side of the tool-chain are workshops that focus on decision procedures (SMT). The BOOGIE Workshop is intended to fit in between, just like an intermediate verification language sits between a source language and an underlying reasoning engine.
We welcome submissions up to 12 pages.
The accepted papers will be printed in informal proceedings distributed to the participants
of the workshop.
With the exception of survey and history papers, the papers should
contain original work which has not been submitted or accepted for
Papers should be submitted through EasyChair.
- IVL tools
- language features of an IVL (e.g., angelic choice, tressa)
- type systems for an IVL
- translation from a source language to an IVL
- property inference at the level of an IVL (e.g., predicate abstraction, abstract interpretation, termination metric inference, Houdini-style inference)
- IVL to IVL translations (e.g., optimizations, slicing, translation between different IVLs)
- translation from an IVL to reasoning engine (SMT, ATP, HOL) input
- interaction with reasoning engines
- interpretation of reasoning engine output in terms of the source language via an IVL
- symbolic execution for an IVL
- axiomatizations of useful theories (like sets, sequences, heaps, ...)
- user experience improvements (e.g., caching of verification results)
- novel uses of IVLs (e.g., refinement or symbol diff)
- experimental evaluations (e.g., comparing different logical encoding or reasoning engines)
Dino Distefano, Queen Mary University of London
Jean-Christophe Filliâtre, CNRS
Michał Moskal, Microsoft Research
Peter Müller, ETH
Shaz Qadeer, Microsoft Research
Zvonimir Rakamarić, University of Utah (chair)
Stephen Siegel, University of Delaware
Ofer Strichman, Technion
Thomas Wies, New York University
Jochen Hoenicke, University of Freiburg
- 09:00Emina Torlak: Toward a Shared Infrastructure for Code Checking, Angelic Execution, Debugging, and Synthesis (Invited Talk)
- 10:00Coffee break
- 10:30Jean-Christophe Filliâtre: Combining Interactive and Automated Theorem Proving using Why3 (Invited Tutorial)
- 12:00Lunch break
- 1:30Pierre-Emmanuel Cornilleau: Prototyping Static Analysis Certification using Why3
- 2:00Guodong Li, Indradeep Ghosh, Sreeranga P. Rajan: KIL: An Abstract Intermediate Language for Symbolic Execution and Test Generation of C++ Programs
- 2:30Francesco Alberti, Natasha Sharygina: Invariant Generation by Infinite-State Model Checking
- 3:00Coffee break
- 3:30Open Discussion: Software Verification Competition
- 17:30The end