English
Related papers

Related papers: Certification of Confluence Proofs using CeTA

200 papers

Formal verification of large C programs is impeded by state-space explosion: Bounded Model Checking (BMC) tools must encode the entire state space up to the predetermined bound by unrolling all nested constructs. We present ConVer, a…

Software Engineering · Computer Science 2026-05-27 Muhammad A. A. Pirzada , Weiqi Wang , Yiannis Charalambous , Konstantin Korovin , Lucas C. Cordeiro

In this paper we report the experience of using AutoProof to statically verify a small object oriented program. We identified the problems that emerged by this activity and we classified them according to their nature. In particular, we…

Software Engineering · Computer Science 2017-06-20 Mansur Khazeev , Victor Rivera , Manuel Mazzara , Leonard Johard

In this article, the problem of synthesizing switching controllers is considered through the synthesis of a "control certificate". Control certificates include control barrier and Lyapunov functions, which represent control strategies, and…

Systems and Control · Computer Science 2016-02-11 Hadi Ravanbakhsh , Sriram Sankaranarayanan

First-order optimization methods have attracted a lot of attention due to their practical success in many applications, including in machine learning. Obtaining convergence guarantees and worst-case performance certificates for first-order…

Optimization and Control · Mathematics 2023-10-04 Baptiste Goujaud , Aymeric Dieuleveut , Adrien Taylor

The Agora system is a prototypical Wiki for formal mathematics: a web-based system for collaborating on formal mathematics, intended to support informal documentation of formal developments. This system requires a reusable proof editor…

Human-Computer Interaction · Computer Science 2013-07-09 Carst Tankink

How does one verify that the output of a complicated program is correct? One can formally prove that the program is correct, but this may be beyond the power of existing methods. Alternatively one can check that the output produced for a…

Data Structures and Algorithms · Computer Science 2013-03-08 Loukas Georgiadis , Robert E. Tarjan

Preserving invariants while designing distributed applications under weak consistency models is difficult. The CEC (Correct Eventual Consistency Tool) is meant to aid the application designer in this task. It provides information about the…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-07-18 Sreeja Nair , Marc Shapiro

TLAPS, the TLA+ proof system, is a platform for the development and mechanical verification of TLA+ proofs written in a declarative style requiring little background beyond elementary mathematics. The language supports hierarchical and…

Logic in Computer Science · Computer Science 2010-11-12 Kaustuv Chaudhuri , Damien Doligez , Leslie Lamport , Stephan Merz

This extended abstract reports on previous work of the CamFort project in which we developed an external units-of-measure type system for Fortran code, targeted at scientists. Our approach can guide the programmer in adding specifications…

Programming Languages · Computer Science 2020-11-13 Dominic Orchard , Mistral Contrastin , Matthew Danish , Andrew Rice

ACL2 has long supported user-defined simplifiers, so-called metafunctions and clause processors, which are installed when corresponding rules of class :meta or :clause-processor are proved. Historically, such simplifiers could access the…

Logic in Computer Science · Computer Science 2017-05-04 Matt Kaufmann , Sol Swords

Proof-carrying hardware (PCH) is an approach to achieving safety of dynamically reconfigurable hardware, transferring the idea of proof-carrying code to the hardware domain. Current PCH approaches are, however, either limited to…

Logic in Computer Science · Computer Science 2014-10-17 Tobias Isenberg , Heike Wehrheim

A program verifier is a tool that can be used to verify that a "contract" for a program holds - i.e. given a precondition the program guarantees that a given postcondition holds - by only working at the level of the annotated program. An…

Software Engineering · Computer Science 2014-06-12 Gudmund Grov

VeriFast is a powerful tool for verification of various correctness properties of C programs using symbolic execution. However, VeriFast itself has not been verified. We present a proof-of-concept extension which generates a correctness…

Logic in Computer Science · Computer Science 2023-08-31 Stefan Wils , Bart Jacobs

We present solc-verify, a source-level verification tool for Ethereum smart contracts. Solc-verify takes smart contracts written in Solidity and discharges verification conditions using modular program analysis and SMT solvers. Built on top…

Programming Languages · Computer Science 2020-03-17 Ákos Hajdu , Dejan Jovanović

We propose a sound and complete proof rule ProbTA for quantitative analysis of violation probability of probabilistic programs. Our approach extends the technique of trace abstraction with probability in the control-flow randomness style,…

Programming Languages · Computer Science 2022-03-10 Guanyan Li , Zhilei Han , Fei He

Formal verification tools are often developed by experts for experts; as a result, their usability by programmers with little formal methods experience may be severely limited. In this paper, we discuss this general phenomenon with…

Software Engineering · Computer Science 2015-08-20 Carlo A. Furia , Christopher M. Poskitt , Julian Tschannen

This extended abstract reports on current progress of SMTCoq, a communication tool between the Coq proof assistant and external SAT and SMT solvers. Based on a checker for generic first-order certificates implemented and proved correct in…

Logic in Computer Science · Computer Science 2016-06-21 Burak Ekici , Guy Katz , Chantal Keller , Alain Mebsout , Andrew J. Reynolds , Cesare Tinelli

We describe TrustBase, an architecture that provides certificate-based authentication as an operating system service. TrustBase enforces best practices for certificate validation for all applications and transparently enables existing…

Cryptography and Security · Computer Science 2016-10-28 Mark O'Neill , Scott Heidbrink , Jordan Whitehead , Scott Ruoti , Dan Bunker , Kent Seamons , Daniel Zappala

Abstract simulation of one transition system by another is introduced as a means to simulate a potentially infinite class of similar transition sequences within a single transition sequence. This is useful for proving confluence under…

Programming Languages · Computer Science 2018-10-03 Henning Christiansen , Maja H. Kirkeby

A principled approach to the design of program verification and con- struction tools is applied to separation logic. The control flow is modelled by power series with convolution as separating conjunction. A generic construction lifts…

Logic in Computer Science · Computer Science 2014-10-17 Brijesh Dongol , Victor B. F. Gomes , Georg Struth