Skip to main content

Showing 1–23 of 23 results for author: Wies, T

Searching in archive cs. Search in all archives.
.
  1. arXiv:2405.13271  [pdf, other

    cs.PL cs.LO

    Verifying Lock-free Search Structure Templates

    Authors: Nisarg Patel, Dennis Shasha, Thomas Wies

    Abstract: 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 separation logic Iris. The proofs are modular and cover the broader design space of the underlying algorithms by parameterizing the verification over aspects such as… ▽ More

    Submitted 21 May, 2024; originally announced May 2024.

    Comments: Extended version of an article to appear in ECOOP'24

  2. arXiv:2401.16395  [pdf, other

    cs.FL

    Deciding Subty** for Asynchronous Multiparty Sessions

    Authors: Elaine Li, Felix Stutz, Thomas Wies

    Abstract: Multiparty session types (MSTs) are a type-based approach to verifying communication protocols, represented as global types in the framework. We present a precise subty** relation for asynchronous MSTs with communicating state machines (CSMs) as implementation model. We address two problems: when can a local implementation safely substitute another, and when does an arbitrary CSM implement a glo… ▽ More

    Submitted 29 January, 2024; originally announced January 2024.

  3. arXiv:2307.15549  [pdf, other

    cs.PL

    Context-Aware Separation Logic

    Authors: Roland Meyer, Thomas Wies, Sebastian Wolff

    Abstract: 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 hand, i.e., the part of the state that is actually being accessed and manipulated. Modern concurrent separation logics lift this local reasoning principle from the… ▽ More

    Submitted 28 July, 2023; originally announced July 2023.

  4. arXiv:2305.17079  [pdf, other

    cs.FL cs.DC cs.PL

    Complete Multiparty Session Type Projection with Automata

    Authors: Elaine Li, Felix Stutz, Thomas Wies, Damien Zufferey

    Abstract: 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 implementations for each participant, represented as a communicating state machine. Existing projection operators are syntactic in nature, and trade efficiency for comp… ▽ More

    Submitted 27 March, 2024; v1 submitted 26 May, 2023; originally announced May 2023.

    Comments: 24 pages, 44 pages including appendix; CAV 2023

  5. arXiv:2304.04886  [pdf, other

    cs.PL

    Make flows small again: revisiting the flow framework

    Authors: Roland Meyer, Thomas Wies, Sebastian Wolff

    Abstract: 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, rules out vanishing flows, and has an easy to understand notion of footprint as needed for soundness of the frame rule. In addition, we present algorithms for autom… ▽ More

    Submitted 10 April, 2023; originally announced April 2023.

  6. arXiv:2209.13692  [pdf, other

    cs.PL cs.LO

    Embedding Hindsight Reasoning in Separation Logic

    Authors: Roland Meyer, Thomas Wies, Sebastian Wolff

    Abstract: 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. Temporal reasoning offers an easy-to-use alternative to prophecy variables and has the advantage of structuring proofs into easy-to-discharge hypotheses. To hin… ▽ More

    Submitted 21 April, 2023; v1 submitted 27 September, 2022; originally announced September 2022.

    Journal ref: Proc. ACM Program. Lang. 7, PLDI, Article 182 (June 2023), 24 pages

  7. arXiv:2207.02355  [pdf, other

    cs.PL cs.LO

    A Concurrent Program Logic with a Future and History

    Authors: Roland Meyer, Thomas Wies, Sebastian Wolff

    Abstract: 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 confined to pencil-and-paper or mechanized proofs. We devise a new separation logic geared towards the lacking automation. While local reasoning is known to be cr… ▽ More

    Submitted 11 November, 2022; v1 submitted 5 July, 2022; originally announced July 2022.

    Journal ref: Proc. ACM Program. Lang. 6, OOPSLA2, Article 174 (October 2022), 30 pages

  8. arXiv:2111.08175  [pdf, other

    cs.LG stat.ML

    Inverse-Weighted Survival Games

    Authors: Xintian Han, Mark Goldstein, Aahlad Puli, Thomas Wies, Adler J Perotte, Rajesh Ranganath

    Abstract: 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 set of time horizons, e.g. Brier score (BS) and Bernoulli log likelihood (BLL). Models trained with maximum likelihood may have poor BS or BLL since maximum lik… ▽ More

    Submitted 31 January, 2022; v1 submitted 15 November, 2021; originally announced November 2021.

    Comments: Neurips 2021

  9. arXiv:2109.05631  [pdf, other

    cs.PL cs.LO

    Verifying Concurrent Multicopy Search Structures

    Authors: Nisarg Patel, Siddharth Krishna, Dennis Shasha, Thomas Wies

    Abstract: 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 a value or a tombstone, is added to the root node even if $k$ is already present in other nodes. Thus there may be multiple copies of $k$ in the search structur… ▽ More

    Submitted 12 September, 2021; originally announced September 2021.

    Comments: Extended version of an article to appear in OOPSLA'21

  10. arXiv:2011.04876  [pdf, ps, other

    cs.PL

    Data Flow Refinement Type Inference

    Authors: Zvonimir Pavlinovic, Yusen Su, Thomas Wies

    Abstract: 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 ty** derivations. An example is Liquid type inference, which solves the extracted constraints using predicate abstraction. However, the reduction to constraint solving in itself alre… ▽ More

    Submitted 9 November, 2020; originally announced November 2020.

    Comments: Extended version of an article to appear in POPL'21

  11. arXiv:2010.00678  [pdf, other

    cs.CL cs.CY

    Beyond The Text: Analysis of Privacy Statements through Syntactic and Semantic Role Labeling

    Authors: Yan Shvartzshnaider, Ananth Balashankar, Vikas Patidar, Thomas Wies, Lakshminarayanan Subramanian

    Abstract: 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 lawyers, are lengthy and often comprise incomplete and vague statements. In this paper, we show that traditional NLP tasks, including the recently proposed Question-A… ▽ More

    Submitted 1 October, 2020; originally announced October 2020.

    Comments: 11 pages, 4 figures

  12. arXiv:2002.02760  [pdf, other

    cs.SE cs.FL

    TarTar: A Timed Automata Repair Tool

    Authors: Martin Koelbl, Stefan Leue, Thomas Wies

    Abstract: 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 include modified values for clock bounds in location invariants and transition guards, adding or removing clock resets, etc. The proposed repairs are guaranteed… ▽ More

    Submitted 12 May, 2020; v1 submitted 29 January, 2020; originally announced February 2020.

    Comments: 15 pages, 7 figures

  13. arXiv:1911.08632  [pdf, other

    cs.LO

    Local Reasoning for Global Graph Properties

    Authors: Siddharth Krishna, Alexander J. Summers, Thomas Wies

    Abstract: Separation logics are widely used for verifying programs that manipulate complex heap-based data structures. These logics build on so-called separation algebras, which allow expressing properties of heap regions such that modifications to a region do not invalidate properties stated about the remainder of the heap. This concept is key to enabling modular reasoning and also extends to concurrency.… ▽ More

    Submitted 19 November, 2019; originally announced November 2019.

  14. arXiv:1711.03272  [pdf, other

    cs.LO cs.DS cs.PL

    Go with the Flow: Compositional Abstractions for Concurrent Data Structures (Extended Version)

    Authors: Siddharth Krishna, Dennis Shasha, Thomas Wies

    Abstract: Concurrent separation logics have helped to significantly simplify correctness proofs for concurrent data structures. However, a recurring problem in such proofs is that data structure abstractions that work well in the sequential setting are much harder to reason about in a concurrent setting due to complex sharing and overlays. To solve this problem, we propose a novel approach to abstracting re… ▽ More

    Submitted 9 November, 2017; originally announced November 2017.

    Comments: This is an extended version of a POPL 2018 conference paper

  15. arXiv:1711.02742  [pdf, other

    cs.CR

    The VACCINE Framework for Building DLP Systems

    Authors: Yan Shvartzshnaider, Zvonimir Pavlinovic, Thomas Wies, Lakshminarayanan Subramanian, Prateek Mittal, Helen Nissenbaum

    Abstract: Conventional Data Leakage Prevention (DLP) systems suffer from the following major drawback: Privacy policies that define what constitutes data leakage cannot be seamlessly defined and enforced across heterogeneous forms of communication. Administrators have the dual burden of: (1) manually self-interpreting policies from handbooks to specify rules (which is error-prone); (2) extracting relevant i… ▽ More

    Submitted 7 November, 2017; originally announced November 2017.

  16. arXiv:1608.08584  [pdf, ps, other

    cs.SE

    Error Invariants for Concurrent Traces

    Authors: Andreas Holzer, Daniel Schwartz-Narbonne, Mitra Tabaei Befrouei, Georg Weissenbacher, Thomas Wies

    Abstract: Error invariants are assertions that over-approximate the reachable program states at a given position in an error trace while only capturing states that will still lead to failure if execution of the trace is continued from that position. Such assertions reflect the effect of statements that are involved in the root cause of an error and its propagation, enabling slicing of statements that do not… ▽ More

    Submitted 30 August, 2016; originally announced August 2016.

    Comments: 21 pages, 7 figures, accepted in FM 2016

  17. arXiv:1601.04740  [pdf, other

    cs.CY

    Crowdsourced, Actionable and Verifiable Contextual Informational Norms

    Authors: Yan Shvartzshnaider, Schrasing Tong, Thomas Wies, Paula Kift, Helen Nissenbaum, Lakshminarayanan Subramanian, Prateek Mittal

    Abstract: There is often a fundamental mismatch between programmable privacy frameworks, on the one hand, and the ever shifting privacy expectations of computer system users, on the other hand. Based on the theory of contextual integrity (CI), our paper addresses this problem by proposing a privacy framework that translates users' privacy expectations (norms) into a set of actionable privacy rules that are… ▽ More

    Submitted 19 February, 2016; v1 submitted 18 January, 2016; originally announced January 2016.

    Comments: 13 pages

  18. arXiv:1508.06836  [pdf, other

    cs.PL

    On Practical SMT-Based Type Error Localization

    Authors: Zvonimir Pavlinovic, Tim King, Thomas Wies

    Abstract: Compilers for statically typed functional programming languages are notorious for generating confusing type error messages. When the compiler detects a type error, it typically reports the program location where the type checking failed as the source of the error. Since other error sources are not even considered, the actual root cause is often missed. A more adequate approach is to consider all p… ▽ More

    Submitted 27 August, 2015; originally announced August 2015.

    ACM Class: D.2.5; F.3.2

  19. On Deciding Local Theory Extensions via E-matching

    Authors: Kshitij Bansal, Andrew Reynolds, Tim King, Clark Barrett, Thomas Wies

    Abstract: Satisfiability Modulo Theories (SMT) solvers incorporate decision procedures for theories of data types that commonly occur in software. This makes them important tools for automating verification problems. A limitation frequently encountered is that verification problems are often not fully expressible in the theories supported natively by the solvers. Many solvers allow the specification of appl… ▽ More

    Submitted 27 August, 2015; originally announced August 2015.

  20. arXiv:1501.04725  [pdf, other

    cs.PL cs.LG

    Learning Invariants using Decision Trees

    Authors: Siddharth Krishna, Christian Puhrsch, Thomas Wies

    Abstract: The problem of inferring an inductive invariant for verifying program safety can be formulated in terms of binary classification. This is a standard problem in machine learning: given a sample of good and bad points, one is asked to find a classifier that generalizes from the sample and separates the two sets. Here, the good points are the reachable states of the program, and the bad points are th… ▽ More

    Submitted 20 January, 2015; originally announced January 2015.

    Comments: 15 pages, 2 figures

  21. arXiv:1311.4934  [pdf, ps, other

    cs.SE

    Dynamic Package Interfaces - Extended Version

    Authors: Shahram Esmaeilsabzali, Rupak Majumdar, Thomas Wies, Damien Zufferey

    Abstract: A hallmark of object-oriented programming is the ability to perform computation through a set of interacting objects. A common manifestation of this style is the notion of a package, which groups a set of commonly used classes together. A challenge in using a package is to ensure that a client follows the implicit protocol of the package when calling its methods. Violations of the protocol can cau… ▽ More

    Submitted 18 January, 2014; v1 submitted 19 November, 2013; originally announced November 2013.

    Comments: The only changes compared to v1 are improvements to the Abstract and Introduction

  22. arXiv:1311.4615  [pdf, ps, other

    cs.SE

    A Notion of Dynamic Interface for Depth-Bounded Object-Oriented Packages

    Authors: Shahram Esmaeilsabzali, Rupak Majumdar, Thomas Wies, Damien Zufferey

    Abstract: Programmers using software components have to follow protocols that specify when it is legal to call particular methods with particular arguments. For example, one cannot use an iterator over a set once the set has been changed directly or through another iterator. We formalize the notion of dynamic package interfaces (DPI), which generalize state-machine interfaces for single objects, and give an… ▽ More

    Submitted 18 November, 2013; originally announced November 2013.

  23. arXiv:cs/0609104  [pdf, ps, other

    cs.PL cs.LO cs.SE

    On Verifying Complex Properties using Symbolic Shape Analysis

    Authors: Thomas Wies, Viktor Kuncak, Karen Zee, Andreas Podelski, Martin Rinard

    Abstract: One of the main challenges in the verification of software systems is the analysis of unbounded data structures with dynamic memory allocation, such as linked data structures and arrays. We describe Bohne, a new analysis for verifying data structures. Bohne verifies data structure operations and shows that 1) the operations preserve data structure invariants and 2) the operations satisfy their s… ▽ More

    Submitted 18 September, 2006; originally announced September 2006.

    Report number: MPI-I-2006-2-001