Skip to main content

Showing 1–14 of 14 results for author: Nanevski, A

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

    cs.LO cs.PL

    Verifying Graph Algorithms in Separation Logic: A Case for an Algebraic Approach (Extended Version)

    Authors: Marcos Grandury, Aleksandar Nanevski, Alexander Gryzlov

    Abstract: Specifying and verifying graph-manipulating programs is a well-known and persistent challenge in separation logic. We show that the obstacles in dealing with graphs are removed if one represents graphs as partial commutative monoids, and admits applying over them structure-preserving functions (i.e., morphisms), including higher-order ones (i.e., combinators). By distributing over the monoid ope… ▽ More

    Submitted 23 January, 2025; originally announced January 2025.

  2. Visibility and Separability for a Declarative Linearizability Proof of the Timestamped Stack: Extended Version

    Authors: Jesús Domínguez, Aleksandar Nanevski

    Abstract: Linearizability is a standard correctness criterion for concurrent algorithms, typically proved by establishing the algorithms' linearization points (LP). However, LPs often hinder abstraction, and for some algorithms such as the timestamped stack, it is unclear how to even identify their LPs. In this paper, we show how to develop declarative proofs of linearizability by foregoing LPs and instead… ▽ More

    Submitted 7 August, 2023; v1 submitted 10 July, 2023; originally announced July 2023.

    Comments: Added extra material in appendices: derivation of specifications for RDCSS, MCAS, queues and locks

    ACM Class: D.2.4; D.1.3

  3. arXiv:2307.04653  [pdf, other

    cs.LO cs.DC

    Declarative Linearizability Proofs for Descriptor-Based Concurrent Helping Algorithms

    Authors: Jesús Domínguez, Aleksandar Nanevski

    Abstract: Linearizability is a standard correctness criterion for concurrent algorithms, typically proved by establishing the algorithms' linearization points. However, relying on linearization points leads to proofs that are implementation-dependent, and thus hinder abstraction and reuse. In this paper we show that one can develop more declarative proofs by foregoing linearization points and instead relyin… ▽ More

    Submitted 10 July, 2023; originally announced July 2023.

    ACM Class: D.2.4; D.1.3

  4. arXiv:2110.02769  [pdf, other

    cs.PL cs.LO

    Visibility Reasoning for Concurrent Snapshot Algorithms

    Authors: Joakim Öhman, Aleksandar Nanevski

    Abstract: Visibility relations have been proposed by Henzinger et al. as an abstraction for proving linearizability of concurrent algorithms that obtains modular and reusable proofs. This is in contrast to the customary approach based on exhibiting the algorithm's linearization points. In this paper we apply visibility relations to develop modular proofs for three elegant concurrent snapshot algorithms of J… ▽ More

    Submitted 8 November, 2021; v1 submitted 6 October, 2021; originally announced October 2021.

    Comments: 45 pages, 12 figures

    ACM Class: D.1.3; F.3.1

  5. arXiv:2103.02976  [pdf, ps, other

    cs.PL cs.LO

    Contextual Modal Types for Algebraic Effects and Handlers

    Authors: Nikita Zyuzin, Aleksandar Nanevski

    Abstract: Programming languages with algebraic effects often track the computations' effects using type-and-effect systems. In this paper, we propose to view an algebraic effect theory of a computation as a variable context; consequently, we propose to track algebraic effects of a computation with \emph{contextual modal types}. We develop ECMTT, a novel calculus which tracks algebraic effects by a contextua… ▽ More

    Submitted 22 August, 2021; v1 submitted 4 March, 2021; originally announced March 2021.

    Comments: 37 pages, 6 figures

  6. arXiv:2010.12686  [pdf, ps, other

    cs.PL cs.LO

    On Algebraic Abstractions for Concurrent Separation Logics

    Authors: František Farka, Aleksandar Nanevski, Anindya Banerjee, Germán Andrés Delbianco, Ignacio Fábregas

    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… ▽ More

    Submitted 4 March, 2021; v1 submitted 23 October, 2020; originally announced October 2020.

    Comments: 35 pages

    Journal ref: Proc. ACM Program. Lang. 5, POPL, Article 5 (January 2021)

  7. Proving Highly-Concurrent Traversals Correct

    Authors: Yotam M. Y. Feldman, Artem Khyzha, Constantin Enea, Adam Morrison, Aleksandar Nanevski, Noam Rinetzky, Sharon Shoham

    Abstract: Modern highly-concurrent search data structures, such as search trees, obtain multi-core scalability and performance by having operations traverse the data structure without any synchronization. As a result, however, these algorithms are notoriously difficult to prove linearizable, which requires identifying a point in time in which the traversal's result is correct. The problem is that traversing… ▽ More

    Submitted 10 January, 2024; v1 submitted 2 October, 2020; originally announced October 2020.

    Comments: Extended version of a paper appearing in OOPSLA'20

  8. arXiv:1904.07136  [pdf, other

    cs.PL cs.DC cs.LO

    Specifying Concurrent Programs in Separation Logic: Morphisms and Simulations

    Authors: Aleksandar Nanevski, Anindya Banerjee, Germán Andrés Delbianco, Ignacio Fábregas

    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 system---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. st… ▽ More

    Submitted 15 October, 2019; v1 submitted 15 April, 2019; originally announced April 2019.

    ACM Class: F.3.1; F.4.1; D.1.1; D.1.3; D.2.4; D.3.2

  9. arXiv:1709.07741  [pdf, ps, other

    cs.PL cs.DC cs.LO

    Subjective Simulation as a Notion of Morphism for Composing Concurrent Resources

    Authors: Aleksandar Nanevski, Anindya Banerjee, Germán Andrés Delbianco

    Abstract: Recent approaches to verifying programs in separation logics for concurrency have used state transition systems (STSs) to specify the atomic operations of programs. A key challenge in the setting has been to compose such STSs into larger ones, while enabling programs specified under one STS to be linked to a larger one, without reverification. This paper develops a notion of morphism between two S… ▽ More

    Submitted 22 September, 2017; originally announced September 2017.

  10. arXiv:1606.01400  [pdf, other

    cs.PL

    Operational Aspects of C/C++ Concurrency

    Authors: Anton Podkopaev, Ilya Sergey, Aleksandar Nanevski

    Abstract: In this work, we present a family of operational semantics that gradually approximates the realistic program behaviors in the C/C++11 memory model. Each semantics in our framework is built by elaborating and combining two simple ingredients: viewfronts and operation buffers. Viewfronts allow us to express the spatial aspect of thread interaction, i.e., which values a thread can read, while operati… ▽ More

    Submitted 9 July, 2016; v1 submitted 4 June, 2016; originally announced June 2016.

  11. arXiv:1604.08080  [pdf, other

    cs.LO cs.DC cs.PL

    Concurrent Data Structures Linked in Time

    Authors: Germán Andrés Delbianco, Ilya Sergey, Aleksandar Nanevski, Anindya Banerjee

    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 (appe… ▽ More

    Submitted 18 January, 2017; v1 submitted 27 April, 2016; originally announced April 2016.

    ACM Class: F.3.1; F.1.2; D.2.4

  12. arXiv:1509.06220  [pdf, other

    cs.LO cs.PL

    Hoare-style Specifications as Correctness Conditions for Non-linearizable Concurrent Objects

    Authors: Ilya Sergey, Aleksandar Nanevski, Anindya Banerjee, German Andres Delbianco

    Abstract: Designing scalable concurrent objects, which can be efficiently used on multicore processors, often requires one to abandon standard specification techniques, such as linearizability, in favor of more relaxed consistency requirements. However, the variety of alternative correctness conditions makes it difficult to choose which one to employ in a particular case, and to compose them when using obje… ▽ More

    Submitted 21 July, 2016; v1 submitted 21 September, 2015; originally announced September 2015.

    Comments: 18 pages

    ACM Class: D.3.1; F.3.1

  13. arXiv:1410.0306  [pdf, other

    cs.LO

    Specifying and Verifying Concurrent Algorithms with Histories and Subjectivity

    Authors: Ilya Sergey, Aleksandar Nanevski, Anindya Banerjee

    Abstract: We present a lightweight approach to Hoare-style specifications for fine-grained concurrency, based on a notion of time-stamped histories that abstractly capture atomic changes in the program state. Our key observation is that histories form a partial commutative monoid, a structure fundamental for representation of concurrent resources. This insight provides us with a unifying mechanism that allo… ▽ More

    Submitted 1 October, 2014; originally announced October 2014.

    Comments: 17 pages

  14. Denotation of syntax and metaprogramming in contextual modal type theory (CMTT)

    Authors: Murdoch Gabbay, Aleksandar Nanevski

    Abstract: The modal logic S4 can be used via a Curry-Howard style correspondence to obtain a lambda-calculus. Modal (boxed) types are intuitively interpreted as `closed syntax of the calculus'. This lambda-calculus is called modal type theory --- this is the basic case of a more general contextual modal type theory, or CMTT. CMTT has never been given a denotational semantics in which modal types are given… ▽ More

    Submitted 4 February, 2012; originally announced February 2012.

    MSC Class: 03B70; 03B45; 68Q55 ACM Class: F.4.1; F.3.2