English
Related papers

Related papers: Amortised Resource Analysis with Separation Logic

200 papers

This paper presents a Hoare-style calculus for formal reasoning about reconfiguration programs of distributed systems. Such programs create and delete components and/or interactions (connectors) while the system components change state…

Logic in Computer Science · Computer Science 2022-03-17 Emma Ahrens , Marius Bozga , Radu Iosif , Joost-Pieter Katoen

Separation Logic with inductive definitions is a well-known approach for deductive verification of programs that manipulate dynamic data structures. Deciding verification conditions in this context is usually based on user-provided lemmas…

Logic in Computer Science · Computer Science 2015-07-21 Constantin Enea , Mihaela Sighireanu , Zhilin Wu

In this paper, we review existing points-to Separation Logics for dynamic memory reasoning and we find that different usages of heap separation tend to be an obstacle. Hence, two total and strict spatial heap operations are proposed upon…

Logic in Computer Science · Computer Science 2019-05-31 René Haberland , Kirill Krinkin

In addition to pre- and postconditions, program specifications in recent separation logics for concurrency have employed an algebraic structure of resources---a form of state transition system---to describe the state-based program…

Programming Languages · Computer Science 2019-10-16 Aleksandar Nanevski , Anindya Banerjee , Germán Andrés Delbianco , Ignacio Fábregas

We study the fully automated amortised analysis of purely functional data structures like skew heaps, as well as weight- and rank-biased leftist heaps. For that we generalise earlier works on automated amortised resource analysis by…

Programming Languages · Computer Science 2026-05-13 Armin Walch , Georg Moser , Berry Schoenmakers , Florian Zuleger

We consider formal verification of recursive programs with resource consumption. We introduce prefix replacement systems with non-negative integer counters which can be incremented and reset to zero as a formal model for such programs. In…

Logic in Computer Science · Computer Science 2015-07-01 Martin Lang , Christof Löding

We present a novel general resource analysis for logic programs based on sized types. Sized types are representations that incorporate structural (shape) information and allow expressing both lower and upper bounds on the size of a set of…

Programming Languages · Computer Science 2020-02-19 Alejandro Serrano , Pedro Lopez-Garcia , Manuel V. Hermenegildo

This article presents modal versions of resource-conscious logics. We concentrate on extensions of variants of Linear Logic with one minimal non-normal modality. In earlier work, where we investigated agency in multi-agent systems, we have…

Logic in Computer Science · Computer Science 2015-09-07 Daniele Porello , Nicolas Troquard

Automatic amortized resource analysis (AARA) is a type-based technique for inferring concrete (non-asymptotic) bounds on a program's resource usage. Existing work on AARA has focused on bounds that are polynomial in the sizes of the inputs.…

Programming Languages · Computer Science 2020-03-09 David M Kahn , Jan Hoffmann

The logic of bunched implications (BI) is a substructural logic that forms the backbone of separation logic, the much studied logic for reasoning about heap-manipulating programs. Although the proof theory and metatheory of BI are…

Logic in Computer Science · Computer Science 2021-12-13 Dan Frumin

The logic of bunched implication BI provides a framework for reasoning about resource composition and forms the basis for an assertion language of separation logic which is used to reason about software programs. Propositional BI is…

Logic in Computer Science · Computer Science 2026-01-06 Revantha Ramanayake

In this paper we establish an automated amortised resource analysis for term rewrite systems. The method is presented in an annotated type system and gives rise to polynomial bounds on the innermost runtime complexity of the analysed term…

Logic in Computer Science · Computer Science 2018-11-26 Georg Moser , Manuel Schneckenreither

We present a novel method for working with the physicist's method of amortized resource analysis, which we call the quantum physicist's method. These principles allow for more precise analyses of resources that are not monotonically…

Programming Languages · Computer Science 2021-06-29 David M Kahn , Jan Hoffmann

There exist many techniques for automatically deriving parametric resource (or cost) bounds by analyzing the source code of a program. These techniques work effectively for a large class of programs and language features. However, non-local…

Programming Languages · Computer Science 2026-03-04 Ethan Chu , Yiyang Guo , Jan Hoffmann

We define a new decidable logic for expressing and checking invariants of programs that manipulate dynamically-allocated objects via pointers and destructive pointer updates. The main feature of this logic is the ability to limit the…

Logic in Computer Science · Computer Science 2007-06-13 Greta Yorsh , Alexander Rabinovich , Mooly Sagiv , Antoine Meyer , Ahmed Bouajjani

We present Alias Refinement Types (ART), a new approach to the verification of correctness properties of linked data structures. While there are many techniques for checking that a heap-manipulating program adheres to its specification,…

Programming Languages · Computer Science 2015-11-03 Alexander Bakst , Ranjit Jhala

A typical way of analyzing the time complexity of functional programs is to extract a recurrence expressing the running time of the program in terms of the size of its input, and then to solve the recurrence to obtain a big-O bound. For…

Programming Languages · Computer Science 2020-08-03 Joseph W. Cutler , Daniel R. Licata , Norman Danner

This paper introduces a refinement of the sequent calculus approach called cirquent calculus. While in Gentzen-style proof trees sibling (or cousin, etc.) sequents are disjoint sequences of formulas, in cirquent calculus they are permitted…

Logic · Mathematics 2011-04-15 Giorgi Japaridze

Graded Type Theory provides a mechanism to track and reason about resource usage in type systems. In this paper, we develop GraD, a novel version of such a graded dependent type system that includes functions, tensor products, additive…

Programming Languages · Computer Science 2021-01-07 Pritam Choudhury , Harley Eades , Richard A. Eisenberg , Stephanie C Weirich

We introduce a novel amortised resource analysis based on a potential-based type system. This type system gives rise to logarithmic and polynomial bounds on the runtime complexity and is the first such system to exhibit logarithmic…

Programming Languages · Computer Science 2018-07-24 Martin Hofmann , Georg Moser