Germán Andrés Delbianco

dblp:130/4256 · DBLP profile ↗
← Back
6ranked-venue papers
2as first author
1since 2021 · last 2021
0000-0002-2249-1168ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 6 · 2 first-author · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
3 papers
Program verification · 64% Concurrent programming · 13% Operating systems · 13%
Theoretical computer science
1 paper
Logic in computer science · 100%

Topics — the 10 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program verification › program logic
separation logic
0.922021
On algebraic abstractions for concurrent separation logics · Proc. ACM Program. Lang. 2021
Specifying concurrent programs in separation logic: morphisms and simulations · Proc. ACM Program. Lang. 2019
Program verification › program logic › separation logic
concurrent separation logic
0.512021
On algebraic abstractions for concurrent separation logics · Proc. ACM Program. Lang. 2021
Operating systems › resource management › memory management
ownership transfer
0.512021
On algebraic abstractions for concurrent separation logics · Proc. ACM Program. Lang. 2021
Logic in computer science › algebraic logic
algebraic semantics
0.512021
On algebraic abstractions for concurrent separation logics · Proc. ACM Program. Lang. 2021
Program verification › proof assistants
proof reuse
0.412019
Specifying concurrent programs in separation logic: morphisms and simulations · Proc. ACM Program. Lang. 2019
Programming languages and type systems
state transition systems
0.412019
Specifying concurrent programs in separation logic: morphisms and simulations · Proc. ACM Program. Lang. 2019
Concurrent programming › concurrent data structures
concurrent objects
0.212016
Hoare-style specifications as correctness conditions for non-linearizable concurrent objects · OOPSLA 2016
Program verification
correctness conditions
0.212016
Hoare-style specifications as correctness conditions for non-linearizable concurrent objects · OOPSLA 2016
Concurrent programming › atomicity
linearizability
0.212016
Hoare-style specifications as correctness conditions for non-linearizable concurrent objects · OOPSLA 2016
Program verification
modular verification
0.112021
On algebraic abstractions for concurrent separation logics · Proc. ACM Program. Lang. 2021

Methods — techniques the papers use, named apart from their topics

separating relations · 1.0category theory · 1.0morphisms · 0.5morphism · 0.5morphism-specific simulation · 0.4hoare logic · 0.2
YearPublicationVenuePosition
2021 On algebraic abstractions for concurrent separation logics
abstract
Concurrent separation logic is distinguished by transfer of state ownership upon parallel composition and framing. The algebraic structure that underpins ownership transfer is that of partial commutative monoids (PCMs). Extant research considers ownership transfer primarily from the logical perspective while comparatively less attention is drawn to the algebraic considerations. This paper provides an algebraic formalization of ownership transfer in concurrent separation logic by means of structure-preserving partial functions (i.e., morphisms) between PCMs, and an associated notion of separating relations. Morphisms of structures are a standard concept in algebra and category theory, but haven't seen ubiquitous use in separation logic before. Separating relations. are binary relations that generalize disjointness and characterize the inputs on which morphisms preserve structure. The two abstractions facilitate verification by enabling concise ways of writing specs, by providing abstract views of threads' states that are preserved under ownership transfer, and by enabling user-level construction of new PCMs out of existing ones.
Frantisek Farka, Aleksandar Nanevski, Anindya Banerjee 0001, Germán Andrés Delbianco, Ignacio Fábregas
Proc. ACM Program. Lang.4
2019 Specifying concurrent programs in separation logic: morphisms and simulations
abstract
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 systems—to describe the state-based program invariants that must be preserved, and to record the permissible atomic changes to program state. In this paper we introduce a novel notion of resource morphism , i.e. structure-preserving function on resources, and show how to effectively integrate it into separation logic, using an associated notion of morphism-specific simulation . We apply morphisms and simulations to programs verified under one resource, to compositionally adapt them to operate under another resource, thus facilitating proof reuse.
Aleksandar Nanevski, Anindya Banerjee 0001, Germán Andrés Delbianco, Ignacio Fábregas
Proc. ACM Program. Lang.3
2017 Concurrent Data Structures Linked in Time
abstract
Arguments about correctness of a concurrent data structure are typically carried out by using the notion of linearizability and specifying the linearization points of the data structure's procedures. Such arguments are often cumbersome as the linearization points' position in time can be dynamic (depend on the interference, run-time values and events from the past, or even future), non-local (appear in procedures other than the one considered), and whose position in the execution trace may only be determined after the considered procedure has already terminated. In this paper we propose a new method, based on a separation-style logic, for reasoning about concurrent objects with such linearization points. We embrace the dynamic nature of linearization points, and encode it as part of the data structure's auxiliary state, so that it can be dynamically modified in place by auxiliary code, as needed when some appropriate run-time event occurs. We name the idea linking-in-time, because it reduces temporal reasoning to spatial reasoning. For example, modifying a temporal position of a linearization point can be modeled similarly to a pointer update in separation logic. Furthermore, the auxiliary state provides a convenient way to concisely express the properties essential for reasoning about clients of such concurrent objects. We illustrate the method by verifying (mechanically in Coq) an intricate optimal snapshot algorithm due to Jayanti, as well as some clients.
Germán Andrés Delbianco, Ilya Sergey, Aleksandar Nanevski, Anindya Banerjee 0001
ECOOP1
2016 Hoare-style specifications as correctness conditions for non-linearizable concurrent objects
abstract
Designing efficient concurrent objects often requires abandoning the standard specification technique of linearizability in favor of more relaxed correctness conditions. However, the variety of alternatives makes it difficult to choose which condition to employ, and how to compose them when using objects specified by different conditions.
Ilya Sergey, Aleksandar Nanevski, Anindya Banerjee 0001, Germán Andrés Delbianco
OOPSLA4
2014 Communicating State Transition Systems for Fine-Grained Concurrent Resources
Aleksandar Nanevski, Ruy Ley-Wild, Ilya Sergey, Germán Andrés Delbianco
ESOP4
2013 Hoare-style reasoning with (algebraic) continuations
abstract
Continuations are programming abstractions that allow for manipulating the "future" of a computation. Amongst their many applications, they enable implementing unstructured program flow through higher-order control operators such as callcc. In this paper we develop a Hoare-style logic for the verification of programs with higher-order control, in the presence of dynamic state. This is done by designing a dependent type theory with first class callcc and abort operators, where pre- and postconditions of programs are tracked through types. Our operators are algebraic in the sense of Plotkin and Power, and Jaskelioff, to reduce the annotation burden and enable verification by symbolic evaluation. We illustrate working with the logic by verifying a number of characteristic examples.
Germán Andrés Delbianco, Aleksandar Nanevski
ICFP1