Affiliation:
1. Carnegie Mellon University, USA
2. Microsoft Research, India
3. Microsoft Research, USA
4. CIFASIS-CONICET, Argentina
5. Inria, France
Abstract
Steel is a language for developing and proving concurrent programs embedded in F
⋆
, a dependently typed programming language and proof assistant. Based on SteelCore, a concurrent separation logic (CSL) formalized in F
⋆
, our work focuses on exposing the proof rules of the logic in a form that enables programs and proofs to be effectively co-developed.
Our main contributions include a new formulation of a Hoare logic of
quintuples
involving both separation logic and first-order logic, enabling efficient verification condition (VC) generation and proof discharge using a combination of tactics and SMT solving. We relate the VCs produced by our quintuple system to solving a system of associativity-commutativity (AC) unification constraints and develop tactics to (partially) solve these constraints using AC-matching modulo SMT-dischargeable equations.
Our system is fully mechanized and implemented in F
⋆
. We evaluate it by developing several verified programs and libraries, including various sequential and concurrent linked data structures, proof libraries, and a library for 2-party session types. Our experience leads us to conclude that our system enables a mixture of automated and interactive proof, making it productive to build programs foundationally verified against a highly expressive, state-of-the-art CSL.
Funder
Alfred P. Sloan Foundation
Intel Corporation
National Science Foundation
Office of Naval Research
European Research Council
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference37 articles.
1. Edwin Brady. 2016. Type-driven Development With Idris. Manning. isbn:9781617293023 http://www.worldcat.org/isbn/9781617293023 Edwin Brady. 2016. Type-driven Development With Idris. Manning. isbn:9781617293023 http://www.worldcat.org/isbn/9781617293023
2. Characteristic formulae for the verification of imperative programs
Cited by
8 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献