Secure information flow by self-composition

G Barthe, PR D'argenio, T Rezk - Mathematical Structures in …, 2011 - cambridge.org
Information flow policies are confidentiality policies that control information leakage through
program execution. A common way to enforce secure information flow is through information …

Relational verification using product programs

G Barthe, JM Crespo, C Kunz - International Symposium on Formal …, 2011 - Springer
Relational program logics are formalisms for specifying and verifying properties about two
programs or two runs of the same program. These properties range from correctness of …

Cartesian hoare logic for verifying k-safety properties

M Sousa, I Dillig - Proceedings of the 37th ACM SIGPLAN Conference …, 2016 - dl.acm.org
Unlike safety properties which require the absence of a “bad” program trace, k-safety
properties stipulate the absence of a “bad” interaction between k traces. Examples of k …

Hyper hoare logic:(dis-) proving program hyperproperties

T Dardinier, P Müller - Proceedings of the ACM on Programming …, 2024 - dl.acm.org
Hoare logics are proof systems that allow one to formally establish properties of computer
programs. Traditional Hoare logics prove properties of individual program executions (such …

Unifying refinement and Hoare-style reasoning in a logic for higher-order concurrency

A Turon, D Dreyer, L Birkedal - Proceedings of the 18th ACM SIGPLAN …, 2013 - dl.acm.org
Modular programming and modular verification go hand in hand, but most existing logics for
concurrency ignore two crucial forms of modularity:* higher-order functions*, which are …

A logical approach to type soundness

A Timany, R Krebbers, D Dreyer, L Birkedal - Journal of the ACM, 2024 - dl.acm.org
Type soundness, which asserts that “well-typed programs cannot go wrong,” is widely
viewed as the canonical theorem one must prove to establish that a type system is doing its …

Conditional contextual refinement

Y Song, M Cho, D Lee, CK Hur, M Sammler… - Proceedings of the ACM …, 2023 - dl.acm.org
Much work in formal verification of low-level systems is based on one of two approaches:
refinement or separation logic. These two approaches have complementary benefits …

Decomposition instead of self-composition for proving the absence of timing channels

T Antonopoulos, P Gazzillo, M Hicks, E Koskinen… - ACM SIGPLAN …, 2017 - dl.acm.org
We present a novel approach to proving the absence of timing channels. The idea is to
partition the program's execution traces in such a way that each partition component is …

Local rely-guarantee reasoning

X Feng - Proceedings of the 36th annual ACM SIGPLAN …, 2009 - dl.acm.org
Rely-Guarantee reasoning is a well-known method for verification of shared-variable
concurrent programs. However, it is difficult for users to define rely/guarantee conditions …

Relational cost analysis

E Çiçek, G Barthe, M Gaboardi, D Garg… - ACM SIGPLAN …, 2017 - dl.acm.org
Establishing quantitative bounds on the execution cost of programs is essential in many
areas of computer science such as complexity analysis, compiler optimizations, security and …