Thomas Wies
YOU?
Author Swipe
View article: Abstract Interpretation of Temporal Safety Effects of Higher Order Programs
Abstract Interpretation of Temporal Safety Effects of Higher Order Programs Open
This paper describes a new abstract interpretation-based approach to verify temporal safety properties of recursive, higher-order programs. While prior works have provided theoretical impact and some automation, they have had limited scala…
View article: Characterizing Implementability of Global Protocols with Infinite States and Data
Characterizing Implementability of Global Protocols with Infinite States and Data Open
We study the implementability problem for an expressive class of symbolic communication protocols involving multiple participants. Our symbolic protocols describe infinite states and data values using dependent refinement predicates. Imple…
View article: Raven: An SMT-Based Concurrency Verifier
Raven: An SMT-Based Concurrency Verifier Open
This paper presents , a new intermediate verification language and deductive verification tool that provides inbuilt support for concurrency reasoning. ’s meta-theory is based on the higher-order concurrent separation logic Iris, incorpora…
View article: Arithmetizing Shape Analysis
Arithmetizing Shape Analysis Open
Memory safety is a fundamental correctness property of software. For programs that manipulate linked, heap-allocated data structures, ensuring memory safety requires analyzing their possible shapes. Despite significant advances in shape an…
View article: Sprout: A Verifier for Symbolic Multiparty Protocols
Sprout: A Verifier for Symbolic Multiparty Protocols Open
We present Sprout , the first sound and complete implementability checker for symbolic multiparty protocols. Sprout supports protocols with dependent refinements on message values, loop memory, and multiparty communication with generalized…
View article: Characterizing Implementability of Global Protocols with Infinite States and Data
Characterizing Implementability of Global Protocols with Infinite States and Data Open
We study the implementability problem for an expressive class of symbolic communication protocols involving multiple participants. Our symbolic protocols describe infinite states and data values using dependent refinement predicates. Imple…
View article: Arithmetizing Shape Analysis
Arithmetizing Shape Analysis Open
Memory safety is an essential correctness property of software systems. For programs operating on linked heap-allocated data structures, the problem of proving memory safety boils down to analyzing the possible shapes of data structures, l…
View article: Abstract Interpretation of Temporal Safety Effects of Higher Order Programs
Abstract Interpretation of Temporal Safety Effects of Higher Order Programs Open
This paper describes a new abstract interpretation-based approach to verify temporal safety properties of recursive, higher-order programs. While prior works have provided theoretical impact and some automation, they have had limited scala…
View article: Verifying Lock-free Search Structure Templates
Verifying Lock-free Search Structure Templates Open
We present and verify template algorithms for lock-free concurrent search structures that cover a broad range of existing implementations based on lists and skiplists. Our linearizability proofs are fully mechanized in the concurrent separ…
View article: Deciding Subtyping for Asynchronous Multiparty Sessions
Deciding Subtyping for Asynchronous Multiparty Sessions Open
Multiparty session types (MSTs) are a type-based approach to verifying communication protocols, represented as global types in the framework. We present a precise subtyping relation for asynchronous MSTs with communicating state machines (…
View article: Deciding Subtyping for Asynchronous Multiparty Sessions
Deciding Subtyping for Asynchronous Multiparty Sessions Open
Multiparty session types (MSTs) are a type-based approach to verifying communication protocols, represented as global types in the framework. We present a precise subtyping relation for asynchronous MSTs with communicating state machines (…
View article: Context-Aware Separation Logic
Context-Aware Separation Logic Open
Separation logic is often praised for its ability to closely mimic the locality of state updates when reasoning about them at the level of assertions. The prover only needs to concern themselves with the footprint of the computation at han…
View article: Embedding Hindsight Reasoning in Separation Logic
Embedding Hindsight Reasoning in Separation Logic Open
Automatically proving linearizability of concurrent data structures remains a key challenge for verification. We present temporal interpolation as a new proof principle to guide automated proof search using hindsight arguments within concu…
View article: Complete Multiparty Session Type Projection with Automata
Complete Multiparty Session Type Projection with Automata Open
Multiparty session types (MSTs) are a type-based approach to verifying communication protocols. Central to MSTs is a projection operator: a partial function that maps protocols represented as global types to correct-by-construction impleme…
View article: Make flows small again: revisiting the flow framework
Make flows small again: revisiting the flow framework Open
We present a new flow framework for separation logic reasoning about programs that manipulate general graphs. The framework overcomes problems in earlier developments: it is based on standard fixed point theory, guarantees least flows, rul…
View article: Beyond The Text: Analysis of Privacy Statements through Syntactic and Semantic Role Labeling
Beyond The Text: Analysis of Privacy Statements through Syntactic and Semantic Role Labeling Open
This paper formulates a new task of extracting privacy parameters from a privacy policy, through the lens of Contextual Integrity (CI), an established social theory framework for reasoning about privacy norms. Through extensive experiments…
View article: Complete Multiparty Session Type Projection with Automata
Complete Multiparty Session Type Projection with Automata Open
Multiparty session types (MSTs) are a type-based approach to verifying communication protocols. Central to MSTs is a projection operator : a partial function that maps protocols represented as global types to correct-by-construction implem…
View article: Make Flows Small Again: Revisiting the Flow Framework
Make Flows Small Again: Revisiting the Flow Framework Open
We present a new flow framework for separation logic reasoning about programs that manipulate general graphs. The framework overcomes problems in earlier developments: it is based on standard fixed point theory, guarantees least flows, rul…
View article: nekton: A Linearizability Proof Checker
nekton: A Linearizability Proof Checker Open
is a new tool for checking linearizability proofs of highly complex concurrent search structures. The tool’s unique features are its parametric heap abstraction based on separation logic and the flow framework, and its support for hindsigh…
View article: A concurrent program logic with a future and history
A concurrent program logic with a future and history Open
Verifying fine-grained optimistic concurrent programs remains an open problem. Modern program logics provide abstraction mechanisms and compositional reasoning principles to deal with the inherent complexity. However, their use is mostly c…
View article: Embedding Hindsight Reasoning in Separation Logic
Embedding Hindsight Reasoning in Separation Logic Open
Proving linearizability of concurrent data structures remains a key challenge for verification. We present temporal interpolation as a new proof principle to conduct such proofs using hindsight arguments within concurrent separation logic.…
View article: Automated repair for timed systems
Automated repair for timed systems Open
We present algorithms and techniques for the repair of timed system models, given as networks of timed automata (NTA). The repair is based on an analysis of timed diagnostic traces (TDTs) that are computed by real-time model checking tools…
View article: Inverse-Weighted Survival Games.
Inverse-Weighted Survival Games. Open
Deep models trained through maximum likelihood have achieved state-of-the-art results for survival analysis. Despite this training scheme, practitioners evaluate models under other criteria, such as binary classification losses at a chosen…
View article: Inverse-Weighted Survival Games
Inverse-Weighted Survival Games Open
Deep models trained through maximum likelihood have achieved state-of-the-art results for survival analysis. Despite this training scheme, practitioners evaluate models under other criteria, such as binary classification losses at a chosen…
View article: Verifying concurrent multicopy search structures
Verifying concurrent multicopy search structures Open
Multicopy search structures such as log-structured merge (LSM) trees are optimized for high insert/update/delete (collectively known as upsert) performance. In such data structures, an upsert on key k , which adds ( k , v ) where v can be …
View article: Data flow refinement type inference
Data flow refinement type inference Open
Refinement types enable lightweight verification of functional programs. Algorithms for statically inferring refinement types typically work by reduction to solving systems of constrained Horn clauses extracted from typing derivations. An …
View article: Beyond The Text: Analysis of Privacy Statements through Syntactic and Semantic Role Labeling
Beyond The Text: Analysis of Privacy Statements through Syntactic and Semantic Role Labeling Open
This paper formulates a new task of extracting privacy parameters from a privacy policy, through the lens of Contextual Integrity, an established social theory framework for reasoning about privacy norms. Privacy policies, written by lawye…
View article: TarTar: A Timed Automata Repair Tool
TarTar: A Timed Automata Repair Tool Open
We present TarTar, an automatic repair analysis tool that, given a timed diagnostic trace (TDT) obtained during the model checking of a timed automaton model, suggests possible syntactic repairs of the analyzed model. The suggested repairs…