English
Related papers

Related papers: Verifying Relational Properties using Trace Logic

200 papers

We propose trace logic, an instance of many-sorted first-order logic, to automate the partial correctness verification of programs containing loops. Trace logic generalizes semantics of program locations and captures loop semantics by…

Logic in Computer Science · Computer Science 2020-08-07 Pamina Georgiou , Bernhard Gleiss , Laura Kovács

Relational properties arise in many settings: relating two versions of a program that use different data representations, noninterference properties for security, etc. The main ingredient of relational verification, relating aligned pairs…

Logic in Computer Science · Computer Science 2016-11-29 Anindya Banerjee , David A. Naumann , Mohammad Nikouei

Many important cryptographic primitives offer probabilistic guarantees of security that can be specified as quantitative hyperproperties; these are specifications that stipulate the existence of a certain number of traces in the system…

Cryptography and Security · Computer Science 2020-05-18 Shubham Sahai , Rohit Sinha , Pramod Subramanyan

In process algebras, security properties are expressed as equivalences between processes, but which equivalence is suitable is not clear. This means that there is a gap between an intuitive security notion and the formulation. Appropriate…

Logic in Computer Science · Computer Science 2019-03-12 Kiraku Minami

Specification languages are essential in deductive program verification, but they are usually based on first-order logic, hence less expressive than the programs they specify. Recently, trace specification logics with fixed points that are…

Logic in Computer Science · Computer Science 2025-11-18 Niklas Heidler , Reiner Hähnle

Formalisms based on temporal logics interpreted over finite strict linear orders, known in the literature as finite traces, have been used for temporal specification in automated planning, process modelling, (runtime) verification and…

Logic in Computer Science · Computer Science 2022-02-02 Alessandro Artale , Andrea Mazzullo , Ana Ozaki

We propose a formal approach for relating abstract separation logic library specifications with the trace properties they enforce on interactions between a client and a library. Separation logic with abstract predicates enforces a resource…

Programming Languages · Computer Science 2017-02-13 Lars Birkedal , Thomas Dinsdale-Young , Guilhem Jaber , Kasper Svendsen , Nikos Tzevelekos

This paper shows how to harness existing theorem provers for first-order logic to automatically verify safety properties of imperative programs that perform dynamic storage allocation and destructive updating of pointer-valued structure…

Logic in Computer Science · Computer Science 2015-07-01 Tal Lev-Ami , Neil Immerman , Thomas Reps , Mooly Sagiv , Siddharth Srivastava , Greta Yorsh

A wide range of interesting program properties are intrinsically relational, i.e., they relate two or more program traces. Two prominent relational properties are secure information flow and conditional program equivalence. By showing the…

Logic in Computer Science · Computer Science 2019-10-22 Alexander Weigl , Mattias Ulbrich , Suhyun Cha , Bernhard Beckert , Birgit Vogel-Heuser

We present an expressive logic over trace formulas, based on binary state predicates, chop, and least fixed-points, for precise specification of programs with recursive procedures. Both, programs and trace formulas, are equipped with a…

Logic in Computer Science · Computer Science 2024-11-21 Dilian Gurov , Reiner Hähnle

Logical relations are one of the most powerful techniques in the theory of programming languages, and have been used extensively for proving properties of a variety of higher-order calculi. However, there are properties that cannot be…

Programming Languages · Computer Science 2020-02-21 Gilles Barthe , Raphaëlle Crubillé , Ugo Dal Lago , Francesco Gavazzo

We propose a new simple \emph{trace} logic that can be used to specify \emph{local security properties}, i.e. security properties that refer to a single participant of the protocol specification. Our technique allows a protocol designer to…

Cryptography and Security · Computer Science 2007-05-23 Ricardo Corin , Antonio Durante , Sandro Etalle , Pieter Hartel

Relational program verification is a variant of program verification where one can reason about two programs and as a special case about two executions of a single program on different inputs. Relational program verification can be used for…

Programming Languages · Computer Science 2019-10-23 Alejandro Aguirre , Gilles Barthe , Marco Gaboardi , Deepak Garg , Pierre-Yves Strub

Relational verification of quantum programs has many potential applications in quantum and post-quantum security and other domains. We propose a relational program logic for quantum programs. The interpretation of our logic is based on a…

Logic in Computer Science · Computer Science 2019-12-12 Gilles Barthe , Justin Hsu , Mingsheng Ying , Nengkun Yu , Li Zhou

Relational properties describe multiple runs of one or more programs. They characterize many useful notions of security, program refinement, and equivalence for programs with diverse computational effects, and they have received much…

Hoare-style program logics are a popular and effective technique for software verification. Relational program logics are an instance of this approach that enables reasoning about relationships between the execution of two or more programs.…

Programming Languages · Computer Science 2022-09-09 Robert Dickerson , Qianchuan Ye , Michael K. Zhang , Benjamin Delaware

A logic program is an executable specification. For example, merge sort in pure Prolog is a logical formula, yet shows creditable performance on long linked lists. But such executable specifications are a compromise: the logic is distorted…

Programming Languages · Computer Science 2015-09-29 M. H. van Emden

Formal verification provides strong guarantees of correctness of software, which are especially important in safety or security critical systems. Hoare logic is a widely used formalism for rigorous verification of software against…

Programming Languages · Computer Science 2021-03-11 Jayaraj Poroor

Contracts specifying a procedure's behavior in terms of pre- and postconditions are essential for scalable software verification, but cannot express any constraints on the events occurring during execution of the procedure. This…

Software Engineering · Computer Science 2022-11-22 Richard Bubel , Dilian Gurov , Reiner Hähnle , Marco Scaletta

Reasoning in language models is difficult to evaluate: natural-language traces are unverifiable, symbolic datasets are too small, and most benchmarks conflate heuristics with inference. We present FOL-Traces, the first large-scale dataset…

Artificial Intelligence · Computer Science 2026-01-27 Isabelle Lee , Sarah Liaw , Dani Yogatama
‹ Prev 1 2 3 10 Next ›