Abstraction and Genericity in Why3

Jean Christophe Filliâtre, Andrei Paskevich

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

Abstract

The benefits of modularity in programming—abstraction barriers, which allow hiding implementation details behind an opaque interface, and genericity, which allows specializing a single implementation to a variety of underlying data types—apply just as well to deductive program verification, with the additional advantage of helping the automated proof search procedures by reducing the size and complexity of the premises and by instantiating and reusing once-proved properties in a variety of contexts In this paper, we demonstrate the modularity features of WhyML, the language of the program verification tool Why3. Instead of separating abstract interfaces and fully elaborated implementations, WhyML uses a single concept of module, a collection of abstract and concrete declarations, and a basic operation of cloning which instantiates a module with respect to a given partial substitution, while verifying its soundness. This mechanism brings into WhyML both abstraction and genericity, which we illustrate on a small verified Bloom filter implementation, translated into executable idiomatic C code.

Original languageEnglish
Title of host publicationLeveraging Applications of Formal Methods, Verification and Validation
Subtitle of host publicationVerification Principles - 9th International Symposium on Leveraging Applications of Formal Methods, ISoLA 2020, Proceedings
EditorsTiziana Margaria, Bernhard Steffen
PublisherSpringer Science and Business Media Deutschland GmbH
Pages122-142
Number of pages21
ISBN (Print)9783030613617
DOIs
Publication statusPublished - 1 Jan 2020
Externally publishedYes
Event9th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2020 - Rhodes, Greece
Duration: 20 Oct 202030 Oct 2020

Publication series

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

Conference

Conference9th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2020
Country/TerritoryGreece
CityRhodes
Period20/10/2030/10/20

Fingerprint

Dive into the research topics of 'Abstraction and Genericity in Why3'. Together they form a unique fingerprint.

Cite this