- Sponsor:
- sigplan
Welcome to the 13th ACM SIGPLAN International Conference on Certified Programs and Proofs (CPP 2024). CPP covers the practical and theoretical topics in all areas that consider formal verification and certification as an essential paradigm for their work. CPP spans topics in computer science, mathematics, logic, and education. CPP 2024 will be held on 15-16 January 2024 in London, UK. The conference is co-located with POPL 2024, and is sponsored by ACM SIGPLAN in cooperation with ACM SIGLOG.
Proceeding Downloads
Under-Approximation for Scalable Bug Detection (Keynote)
Incorrectness Logic (IL) has recently been advanced as a logical under-approximate theory for proving the presence of bugs - dual to Hoare Logic, which is an over-approximate theory for proving the absence of bugs. To facilitate scalable bug detection, ...
UTC Time, Formally Verified
- Ana de Almeida Borges,
- Mireia González Bedmar,
- Juan Conejero Rodríguez,
- Eduardo Hermo Reyes,
- Joaquim Casals Buñuel,
- Joost Joosten
FV Time is a small-scale verification project developed in the Coq proof assistant using the Mathematical Components libraries. It is a library for managing conversions between time formats (UTC and timestamps), as well as commonly used functions for ...
VCFloat2: Floating-Point Error Analysis in Coq
The development of sound and efficient tools that automatically perform floating-point round-off error analysis is an active area of research with applications to embedded systems and scientific computing. In this paper we describe VCFloat2, a novel ...
The Last Yard: Foundational End-to-End Verification of High-Speed Cryptography
- Philipp G. Haselwarter,
- Benjamin Salling Hvass,
- Lasse Letager Hansen,
- Théo Winterhalter,
- Cătălin Hriţcu,
- Bas Spitters
The field of high-assurance cryptography is quickly maturing, yet a unified foundational framework for end-to-end formal verification of efficient cryptographic implementations is still missing. To address this gap, we use the Coq proof assistant to ...
Rooting for Efficiency: Mechanised Reasoning about Array-Based Trees in Separation Logic
Array-based encodings of tree structures are often preferable to linked or abstract data type-based representations for efficiency reasons. Compared to the more traditional encodings, array-based trees do not immediately offer convenient induction ...
Compositional Verification of Concurrent C Programs with Search Structure Templates
Concurrent search structure templates are a technique for separating the verification of a concurrent data structure into concurrency-control and data-structure components, which can then be modularly combined with no additional proof effort. In this ...
Unification for Subformula Linking under Quantifiers
Subformula linking is a technique that allows one to simplify proof goals by identifying subformulas of hypotheses that share atoms with the goal. It has been used by recent prototypes for gesture-based interactive theorem proving, but also for theorem ...
PfComp: A Verified Compiler for Packet Filtering Leveraging Binary Decision Diagrams
We present PfComp, a verified compiler for stateless firewall policies. The policy is first compiled into an intermediate representation taking the form of a binary decision diagram that is optimised in terms of decision nodes. The decision diagram is ...
Memory Simulations, Security and Optimization in a Verified Compiler
Current compilers implement security features and optimizations that require nontrivial semantic reasoning about pointers and memory allocation: the program after the insertion of the security feature, or after applying the optimization, must simulate ...
Lean Formalization of Extended Regular Expression Matching with Lookarounds
We present a formalization of a matching algorithm for extended regular expression matching based on locations and symbolic derivatives which supports intersection, complement and lookarounds and whose implementation mirrors an extension of the recent ...
Formal Probabilistic Methods for Combinatorial Structures using the Lovász Local Lemma
Formalised libraries of combinatorial mathematics have rapidly expanded over the last five years, but few use one of the most important tools: probability. How can often intuitive probabilistic arguments on the existence of combinatorial structures, such ...
Certification of Confluence- and Commutation-Proofs via Parallel Critical Pairs
Parallel critical pairs (PCPs) have been used to design sufficient criteria for confluence of term rewrite systems. In this work we formalize PCPs and the criteria of Gramlich, Toyama, and Shintani and Hirokawa in the proof assistant Isabelle. In order ...
A Temporal Differential Dynamic Logic Formal Embedding
Differential temporal dynamic logic dTL2 is a logic to specify and verify temporal properties of hybrid systems. It extends differential dynamic logic (dL) with temporal operators that enable reasoning on intermediate states in both discrete and ...
Formalizing Giles Gardam’s Disproof of Kaplansky’s Unit Conjecture
We describe a formalization in Lean 4 of Giles Gardam's disproof of Kaplansky's Unit Conjecture. This makes use of a combination of deductive proving and formally verified computation, using the nature of Lean 4 as a programming language which is also a ...
A Formalization of Complete Discrete Valuation Rings and Local Fields
Local fields, and fields complete with respect to a discrete valuation, are essential objects in commutative algebra, with applications to number theory and algebraic geometry. We formalize in Lean the basic theory of discretely valued fields. In ...
Strictly Monotone Brouwer Trees for Well Founded Recursion over Multiple Arguments
Ordinals can be used to prove the termination of dependently typed programs. Brouwer trees are a particular ordinal notation that make it very easy to assign sizes to higher order data structures. They extend unary natural numbers with a limit ...
A Mechanised and Constructive Reverse Analysis of Soundness and Completeness of Bi-intuitionistic Logic
Using the Coq proof assistant, we investigate the minimal non-constructive principles needed to show soundness and completeness of propositional bi-intuitionistic logic. Before being revisited and corrected by Goré and Shillito, the completeness of bi-...
Martin-Löf à la Coq
We present an extensive mechanization of the metatheory of Martin-Löf Type Theory (MLTT) in the Coq proof assistant. Our development builds on pre-existing work in Agda to show not only the decidability of conversion, but also the decidability of type ...
Univalent Double Categories
Category theory is a branch of mathematics that provides a formal framework for understanding the relationship between mathematical structures. To this end, a category not only incorporates the data of the desired objects, but also "morphisms", which ...
Displayed Monoidal Categories for the Semantics of Linear Logic
We present a formalization of different categorical structures used to interpret linear logic. Our formalization takes place in UniMath, a library of univalent mathematics based on the Coq proof assistant.
All the categorical structures we formalize ...
Formalizing the ∞-Categorical Yoneda Lemma
Formalized 1-category theory forms a core component of various libraries of mathematical proofs. However, more sophisticated results in fields from algebraic topology to theoretical physics, where objects have “higher structure,” rely on infinite-...
Index Terms
- Proceedings of the 13th 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% |