- Sponsor:
- sigplan
Welcome to the 10th ACM SIGPLAN International Conference on Certified Programs and Proofs (CPP 2021). CPP covers the practical and theoretical topics in all areas that consider formal verication and certication as an essential paradigm for their work. CPP spans areas of computer science, mathematics, logic, and education. CPP 2021 will be held on 17-19 January 2021 as a virtual meeting, where all papers are presented online. The conference is co-located with POPL 2021, and is sponsored by ACM SIGPLAN in cooperation with ACM SIGLOG.
Proceeding Downloads
Teaching algorithms and data structures with a proof assistant (invited talk)
We report on a new course Verified Functional Data Structures and Algorithms taught at the Technical University of Munich. The course first introduces students to interactive theorem proving with the Isabelle proof assistant. Then it covers a range of ...
Underpinning the foundations: sail-based semantics, testing, and reasoning for production and CHERI-enabled architectures (invited talk)
This talk will describe our work to establish and use mechanised and rather complete semantics for full-scale architectures: the mainstream Armv8-A architecture, the emerging RISC-V architecture, the CHERI-MIPS and CHERI-RISC-V research architectures ...
A formal proof of PAC learnability for decision stumps
We present a formal proof in Lean of probably approximately correct (PAC) learnability of the concept class of decision stumps. This classic result in machine learning theory derives a bound on error probabilities for a simple type of classifier. Though ...
CertRL: formalizing convergence proofs for value and policy iteration in Coq
Reinforcement learning algorithms solve sequential decision-making problems in probabilistic environments by optimizing for long-term reward. The desire to use reinforcement learning in safety-critical settings inspires a recent line of work on formally ...
A minimalistic verified bootstrapped compiler (proof pearl)
This paper shows how a small verified bootstrapped compiler can be developed inside an interactive theorem prover (ITP). Throughout, emphasis is put on clarity and minimalism.
Lutsig: a verified Verilog compiler for verified circuit development
We report on a new verified Verilog compiler called Lutsig. Lutsig currently targets (a class of) FPGAs and is capable of producing technology mapped netlists for FPGAs. We have connected Lutsig to existing Verilog development tools, and in this paper ...
Towards efficient and verified virtual machines for dynamic languages
The prevalence of dynamic languages is not commensurate with the security guarantees provided by their execution mechanisms. Consider, for example, the ubiquitous case of JavaScript: it runs everywhere and its complex just-in-time compilers produce code ...
Contextual refinement of the Michael-Scott queue (proof pearl)
The Michael-Scott queue (MS-queue) is a concurrent non-blocking queue. In an earlier pen-and-paper proof it was shown that a simplified variant of the MS-queue contextually refines a coarse-grained queue. Here we use the Iris and ReLoC logics to show, ...
Reasoning about monotonicity in separation logic
Reasoning about monotonicity is of key importance in concurrent separation logics. For instance, one needs to reason about monotonicity to show that the value of a concurrent counter with an increment operation only grows over time. Modern concurrent ...
Extracting smart contracts tested and verified in Coq
We implement extraction of Coq programs to functional languages based on MetaCoq's certified erasure. As part of this, we implement an optimisation pass removing unused arguments. We prove the pass correct wrt. a conventional call-by-value operational ...
Formal verification of authenticated, append-only skip lists in Agda
Authenticated Append-Only Skiplists (AAOSLs) enable maintenance and querying of an authenticated log (such as a blockchain) without requiring any single party to store or verify the entire log, or to trust another party regarding its contents. AAOSLs ...
Towards formally verified compilation of tag-based policy enforcement
Hardware-assisted reference monitoring is receiving increasing attention as a way to improve the security of existing software. One example is the PIPE architecture extension, which attaches metadata tags to register and memory values and executes tag-...
A Coq formalization of data provenance
In multiple domains, large amounts of data are daily generated and combined to be analyzed. The interpretation of these analyses requires to track back the provenance of combined data with respect to initial, raw data. The correctness of the provenance ...
Developing and certifying Datalog optimizations in coq/mathcomp
We introduce a static analysis and two program transformations for Datalog to circumvent performance ssues that arise with the implementation of primitive predicates, notably in the framework of a large scale telecommunication application. To this ...
Machine-checked semantic session typing
Session types—a family of type systems for message-passing concurrency—have been subject to many extensions, where each extension comes with a separate proof of type safety. These extensions cannot be readily combined, and their proofs of type safety ...
A novice-friendly induction tactic for lean
In theorem provers based on dependent type theory such as Coq and Lean, induction is a fundamental proof method and induction tactics are omnipresent in proof scripts. Yet the ergonomics of existing induction tactics are not ideal: they do not reliably ...
Lassie: HOL4 tactics by example
Proof engineering efforts using interactive theorem proving have yielded several impressive projects in software systems and mathematics. A key obstacle to such efforts is the requirement that the domain expert is also an expert in the low-level details ...
A modular Isabelle framework for verifying saturation provers
We present a formalization in Isabelle/HOL of a comprehensive framework for proving the completeness of automatic theorem provers based on resolution, superposition, or other saturation calculi. The framework helps calculus designers and prover ...
An Isabelle/HOL formalization of AProVE’s termination method for LLVM IR
AProVE is a powerful termination prover for various programming languages, including a termination analysis method for imperative programs specified in the LLVM intermediate representation (IR). The method internally works in three steps: first, it ...
A verified decision procedure for the first-order theory of rewriting for linear variable-separated rewrite systems
The first-order theory of rewriting is a decidable theory for finite left-linear right-ground rewrite systems, implemented in FORT. We present a formally verified variant of the decision procedure for the class of linear variable-separated rewrite ...
Formalizing the ring of Witt vectors
The ring of Witt vectors W R over a base ring R is an important tool in algebraic number theory and lies at the foundations of modern p-adic Hodge theory. W R has the interesting property that it constructs a ring of characteristic 0 out of a ring of ...
Formal verification of semi-algebraic sets and real analytic functions
Semi-algebraic sets and real analytic functions are fundamental concepts in Real Algebraic Geometry and Real Analysis, respectively. These concepts appear in the study of Differential Equations, where the real analytic solution to a differential ...
On the formalisation of Kolmogorov complexity
Kolmogorov complexity is an essential tool in the study of algorithmic information theory, and is used in the fields of Artificial Intelligence, cryptography, and coding theory. The formalisation of the theorems of Kolmogorov complexity is also key to ...
An anti-locally-nameless approach to formalizing quantifiers
We investigate the possibility of formalizing quantifiers in proof theory while avoiding, as far as possible, the use of true binding structures, α-equivalence or variable renamings. We propose a solution with two kinds of variables in terms and ...
The generalised continuum hypothesis implies the axiom of choice in Coq
We discuss and compare two Coq mechanisations of Sierpinski's result that the generalised continuum hypothesis (GCH) implies the axiom of choice (AC). The first version shows the result, originally stated in first-order ZF set-theory, for a higher-order ...
Formalizing category theory in Agda
The generality and pervasiveness of category theory in modern mathematics makes it a frequent and useful target of formalization. It is however quite challenging to formalize, for a variety of reasons. Agda currently (i.e. in 2020) does not have a ...
Index Terms
- Proceedings of the 10th ACM SIGPLAN International Conference on Certified Programs and Proofs
Recommendations
Acceptance Rates
Year | Submitted | Accepted | Rate |
---|---|---|---|
CPP '15 | 26 | 18 | 69% |
Overall | 26 | 18 | 69% |