Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleApril 2024
Adversities in Abstract Interpretation - Accommodating Robustness by Abstract Interpretation
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 46, Issue 2Article No.: 5, Pages 1–31https://doi.org/10.1145/3649309Robustness is a key and desirable property of any classifying system, in particular, to avoid the ever-rising threat of adversarial attacks. Informally, a classification system is robust when the result is not affected by the perturbation of the input. ...
- research-articleSeptember 2024
Proving Correctness of Parallel Implementations of Transition System Models
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 46, Issue 3Article No.: 9, Pages 1–50https://doi.org/10.1145/3660630This article addresses the long-standing problem of program correctness for programs that describe systems of parallel executing processes. We propose a new method for proving correctness of parallel implementations of high-level models expressed as ...
- research-articleJuly 2023
SSProve: A Foundational Framework for Modular Cryptographic Proofs in Coq
- Philipp G. Haselwarter,
- Exequiel Rivas,
- Antoine Van Muylder,
- Théo Winterhalter,
- Carmine Abate,
- Nikolaj Sidorenco,
- Cătălin Hriţcu,
- Kenji Maillard,
- Bas Spitters
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 45, Issue 3Article No.: 15, Pages 1–61https://doi.org/10.1145/3594735State-separating proofs (SSP) is a recent methodology for structuring game-based cryptographic proofs in a modular way, by using algebraic laws to exploit the modular structure of composed protocols. While promising, this methodology was previously not ...
- research-articleMay 2023
A First-order Logic with Frames
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 45, Issue 2Article No.: 7, Pages 1–44https://doi.org/10.1145/3583057We propose a novel logic, Frame Logic (FL), that extends first-order logic and recursive definitions with a construct Sp(·) that captures the implicit supports of formulas—the precise subset of the universe upon which their meaning depends. Using such ...
- research-articleMarch 2023
Omnisemantics: Smooth Handling of Nondeterminism
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 45, Issue 1Article No.: 5, Pages 1–43https://doi.org/10.1145/3579834This article gives an in-depth presentation of the omni-big-step and omni-small-step styles of semantic judgments. These styles describe operational semantics by relating starting states to sets of outcomes rather than to individual outcomes. A single ...
-
- research-articleJuly 2022
For a Few Dollars More: Verified Fine-Grained Algorithm Analysis Down to LLVM
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 44, Issue 3Article No.: 14, Pages 1–36https://doi.org/10.1145/3486169We present a framework to verify both, functional correctness and (amortized) worst-case complexity of practically efficient algorithms. We implemented a stepwise refinement approach, using the novel concept of resource currencies to naturally structure ...
- research-articleApril 2022
What’s Decidable About Causally Consistent Shared Memory?
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 44, Issue 2Article No.: 8, Pages 1–55https://doi.org/10.1145/3505273While causal consistency is one of the most fundamental consistency models weaker than sequential consistency, the decidability of safety verification for (finite-state) concurrent programs running under causally consistent shared memories is still ...
- research-articleApril 2022
Prophecy Made Simple
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 44, Issue 2Article No.: 6, Pages 1–27https://doi.org/10.1145/3492545Prophecy variables were introduced in the article “The Existence of Refinement Mappings” by Abadi and Lamport. They were difficult to use in practice. We describe a new kind of prophecy variable that we find much easier to use. We also reformulate ideas ...
- research-articleDecember 2021
Bounded Verification of Multi-threaded Programs via Lazy Sequentialization
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 44, Issue 1Article No.: 1, Pages 1–50https://doi.org/10.1145/3478536Bounded verification techniques such as bounded model checking (BMC) have successfully been used for many practical program analysis problems, but concurrency still poses a challenge. Here, we describe a new approach to BMC of sequentially consistent ...
- research-articleNovember 2021
TaDA Live: Compositional Reasoning for Termination of Fine-grained Concurrent Programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 43, Issue 4Article No.: 16, Pages 1–134https://doi.org/10.1145/3477082We present TaDA Live, a concurrent separation logic for reasoning compositionally about the termination of blocking fine-grained concurrent programs. The crucial challenge is how to deal with abstract atomic blocking: that is, abstract atomic operations ...
- research-articleOctober 2021
RustHorn: CHC-based Verification for Rust Programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 43, Issue 4Article No.: 15, Pages 1–54https://doi.org/10.1145/3462205Reduction to satisfiability of constrained Horn clauses (CHCs) is a widely studied approach to automated program verification. Current CHC-based methods, however, do not work very well for pointer-manipulating programs, especially those with dynamic ...
- research-articleSeptember 2021
A Fresh Look at Zones and Octagons
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 43, Issue 3Article No.: 11, Pages 1–51https://doi.org/10.1145/3457885Zones and Octagons are popular abstract domains for static program analysis. They enable the automated discovery of simple numerical relations that hold between pairs of program variables. Both domains are well understood mathematically but the detailed ...
- research-articleOctober 2019
Environmental Bisimulations for Probabilistic Higher-order Languages
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 41, Issue 4Article No.: 22, Pages 1–64https://doi.org/10.1145/3350618Environmental bisimulations for probabilistic higher-order languages are studied. In contrast with applicative bisimulations, environmental bisimulations are known to be more robust and do not require sophisticated techniques such as Howe’s in the proofs ...
- research-articleOctober 2019
Non-polynomial Worst-Case Analysis of Recursive Programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 41, Issue 4Article No.: 20, Pages 1–52https://doi.org/10.1145/3339984We study the problem of developing efficient approaches for proving worst-case bounds of non-deterministic recursive programs. Ranking functions are sound and complete for proving termination and worst-case bounds of non-recursive programs. First, we ...
- research-articleApril 2019
ML, Visibly Pushdown Class Memory Automata, and Extended Branching Vector Addition Systems with States
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 41, Issue 2Article No.: 11, Pages 1–38https://doi.org/10.1145/3310338We prove that the observational equivalence problem for a finitary fragment of the programming langauge ML is recursively equivalent to the reachability problem for extended branching vector addition systems with states (EBVASS). This result has two ...
- research-articleJuly 2018
Modular Termination Verification of Single-Threaded and Multithreaded Programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 40, Issue 3Article No.: 12, Pages 1–59https://doi.org/10.1145/3210258We propose an approach for the modular specification and verification of total correctness properties of object-oriented programs. The core of our approach is a specification style that prescribes a way to assign a level expression to each method such ...
- research-articleMay 2018
Algorithmic Analysis of Qualitative and Quantitative Termination Problems for Affine Probabilistic Programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 40, Issue 2Article No.: 7, Pages 1–45https://doi.org/10.1145/3174800In this article, we consider the termination problem of probabilistic programs with real-valued variables. The questions concerned are: qualitative ones that ask (i) whether the program terminates with probability 1 (almost-sure termination) and (ii) ...
- research-articleDecember 2017
Bit-Precise Procedure-Modular Termination Analysis
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 40, Issue 1Article No.: 1, Pages 1–38https://doi.org/10.1145/3121136Non-termination is the root cause of a variety of program bugs, such as hanging programs and denial-of-service vulnerabilities. This makes an automated analysis that can prove the absence of such bugs highly desirable. To scale termination checks to ...
- research-articleMay 2017
Verifying Invariants of Lock-Free Data Structures with Rely-Guarantee and Refinement Types
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 39, Issue 3Article No.: 11, Pages 1–54https://doi.org/10.1145/3064850Verifying invariants of fine-grained concurrent data structures is challenging, because interference from other threads may occur at any time. We propose a new way of proving invariants of fine-grained concurrent data structures: applying rely-guarantee ...
- research-articleMarch 2017
Programs from Proofs: A Framework for the Safe Execution of Untrusted Software
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 39, Issue 2Article No.: 7, Pages 1–56https://doi.org/10.1145/3014427Today, software is traded worldwide on global markets, with apps being downloaded to smartphones within minutes or seconds. This poses, more than ever, the challenge of ensuring safety of software in the face of (1) unknown or untrusted software ...