Skip to main content

Showing 1–35 of 35 results for author: Enea, C

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

    cs.PL

    CSSTs: A Dynamic Data Structure for Partial Orders in Concurrent Execution Analysis

    Authors: Hünkar Can Tunç, Ameya Prashant Deshmukh, Berk Çirisci, Constantin Enea, Andreas Pavlogiannis

    Abstract: Dynamic analyses are a standard approach to analyzing and testing concurrent programs. Such techniques observe program traces and analyze them to infer the presence or absence of bugs. At its core, each analysis maintains a partial order $P$ that represents order dependencies between events of the analyzed trace $σ$. Naturally, the scalability of the analysis largely depends on how efficiently it… ▽ More

    Submitted 29 March, 2024; v1 submitted 26 March, 2024; originally announced March 2024.

  2. arXiv:2402.13618  [pdf, other

    cs.DC

    Strong Linearizability using Primitives with Consensus Number 2

    Authors: Hagit Attiya, Armando Castañeda, Constantin Enea

    Abstract: A powerful tool for designing complex concurrent programs is through composition with object implementations from lower-level primitives. Strongly-linearizable implementations allow to preserve hyper-properties, e.g., probabilistic guarantees of randomized programs. However, the only known wait-free strongly-linearizable implementations for many objects rely on compare&swap, a universal primitive… ▽ More

    Submitted 21 February, 2024; originally announced February 2024.

  3. arXiv:2303.12606  [pdf, ps, other

    cs.PL cs.DB

    Dynamic Partial Order Reduction for Checking Correctness against Transaction Isolation Levels

    Authors: Ahmed Bouajjani, Constantin Enea, Enrique Román-Calvo

    Abstract: Modern applications, such as social networking systems and e-commerce platforms are centered around using large-scale databases for storing and retrieving data. Accesses to the database are typically enclosed in transactions that allow computations on shared data to be isolated from other concurrent computations and resilient to failures. Modern databases trade isolation for performance. The weake… ▽ More

    Submitted 14 April, 2023; v1 submitted 22 March, 2023; originally announced March 2023.

    Comments: Submission to PLDI 2023

  4. arXiv:2303.05893  [pdf, other

    cs.PL

    A Domain Specific Language for Testing Consensus Implementations

    Authors: Cezara Dragoi, Constantin Enea, Srinidhi Nagendra, Mandayam Srivas

    Abstract: Large-scale, fault-tolerant, distributed systems are the backbone for many critical software services. Since they must execute correctly in a possibly adversarial environment with arbitrary communication delays and failures, the underlying algorithms are intricate. In particular, achieving consistency and data retention relies on intricate consensus (state machine replication) protocols. Ensuring… ▽ More

    Submitted 22 April, 2023; v1 submitted 10 March, 2023; originally announced March 2023.

    Comments: Update: - Added missing references - Updated sections "Netrix Unit tests" and "Case studies" to better explain the terminology and results - Added additional figures in section "Our approach" to explain the examples - Typos and grammatical errors

  5. arXiv:2301.09946  [pdf, other

    cs.DC

    Quorum Tree Abstractions of Consensus Protocols

    Authors: Berk Cirisci, Constantin Enea, Suha Orhun Mutluergil

    Abstract: Distributed algorithms solving agreement problems like consensus or state machine replication are essential components of modern fault-tolerant distributed services. They are also notoriously hard to understand and reason about. Their complexity stems from the different assumptions on the environment they operate with, i.e., process or network link failures, Byzantine failures etc. In this paper,… ▽ More

    Submitted 24 January, 2023; originally announced January 2023.

  6. arXiv:2301.05740  [pdf, other

    cs.PL

    The Commutativity Quotients of Concurrent Objects

    Authors: Constantin Enea, Parisa Fathololumi, Eric Koskinen

    Abstract: Concurrent objects form the foundation of many applications that exploit multicore architectures. Reasoning about the fine-grained complexities (interleavings, invariants, etc.) of those data structures, however, is notoriously difficult. Formal proof methodologies for arguing about the correctness -- i.e.,~linearizability -- of these data structures are still somewhat disconnected from the intuit… ▽ More

    Submitted 13 January, 2023; originally announced January 2023.

  7. arXiv:2211.11942  [pdf, other

    cs.DC

    A Pragmatic Approach to Stateful Partial Order Reduction

    Authors: Berk Cirisci, Constantin Enea, Azadeh Farzan, Suha Orhun Mutluergil

    Abstract: Partial order reduction (POR) is a classic technique for dealing with the state explosion problem in model checking of concurrent programs. Theoretical optimality, i.e., avoiding enumerating equivalent interleavings, does not necessarily guarantee optimal overall performance of the model checking algorithm. The computational overhead required to guarantee optimality may by far cancel out any benef… ▽ More

    Submitted 21 November, 2022; originally announced November 2022.

  8. arXiv:2209.06648  [pdf, other

    cs.PL cs.LO

    Automated Synthesis of Asynchronizations

    Authors: Sidi Mohamed Beillahi, Ahmed Bouajjani, Constantin Enea, Shuvendu Lahiri

    Abstract: Asynchronous programming is widely adopted for building responsive and efficient software, and modern languages such as C# provide async/await primitives to simplify the use of asynchrony. In this paper, we propose an approach for refactoring a sequential program into an asynchronous program that uses async/await, called asynchronization. The refactoring process is parametrized by a set of methods… ▽ More

    Submitted 14 September, 2022; originally announced September 2022.

    Comments: 37 pages, 18 figures, an extended version of a SAS 2022 paper with the same title

  9. arXiv:2106.15554  [pdf, other

    cs.DC

    Blunting an Adversary Against Randomized Concurrent Programs with Linearizable Implementations

    Authors: Hagit Attiya, Constantin Enea, Jennifer L. Welch

    Abstract: Atomic shared objects, whose operations take place instantaneously, are a powerful abstraction for designing complex concurrent programs. Since they are not always available, they are typically substituted with software implementations. A prominent condition relating these implementations to their atomic specifications is linearizability, which preserves safety properties of the programs using the… ▽ More

    Submitted 1 March, 2022; v1 submitted 29 June, 2021; originally announced June 2021.

    Comments: 22 pages Revised version generalizes the class of implementations to which the transformation applies

  10. arXiv:2105.06614  [pdf, other

    cs.DC

    Impossibility of Strongly-Linearizable Message-Passing Objects via Simulation by Single-Writer Registers

    Authors: Hagit Attiya, Constantin Enea, Jennifer Welch

    Abstract: A key way to construct complex distributed systems is through modular composition of linearizable concurrent objects. A prominent example is shared registers, which have crash-tolerant implementations on top of message-passing systems, allowing the advantages of shared memory to carry over to message-passing. Yet linearizable registers do not always behave properly when used inside randomized prog… ▽ More

    Submitted 27 August, 2021; v1 submitted 13 May, 2021; originally announced May 2021.

    Comments: 18 pages. To appear in International Symposium on Distributed Computing (DISC), Oct. 2021

  11. arXiv:2103.02830  [pdf, other

    cs.PL

    MonkeyDB: Effectively Testing Correctness against Weak Isolation Levels

    Authors: Ranadeep Biswas, Diptanshu Kakwani, Jyothi Vedurada, Constantin Enea, Akash Lal

    Abstract: Modern applications, such as social networking systems and e-commerce platforms are centered around using large-scale storage systems for storing and retrieving data. In the presence of concurrent accesses, these storage systems trade off isolation for performance. The weaker the isolation level, the more behaviors a storage system is allowed to exhibit and it is up to the developer to ensure that… ▽ More

    Submitted 3 March, 2021; originally announced March 2021.

  12. arXiv:2101.09032  [pdf, other

    cs.PL cs.LO

    Checking Robustness Between Weak Transactional Consistency Models

    Authors: Sidi Mohamed Beillahi, Ahmed Bouajjani, Constantin Enea

    Abstract: Concurrent accesses to databases are typically encapsulated in transactions in order to enable isolation from other concurrent computations and resilience to failures. Modern databases provide transactions with various semantics corresponding to different trade-offs between consistency and availability. Since a weaker consistency model provides better performance, an important issue is investigati… ▽ More

    Submitted 22 January, 2021; originally announced January 2021.

    Comments: 38 pages, 7 figures, 2 tables, extended version of ESOP 2021 conference paper

  13. Checking Causal Consistency of Distributed Databases

    Authors: Rachid Zennou, Ranadeep Biswas, Ahmed Bouajjani, Constantin Enea, Mohammed Erradi

    Abstract: The CAP Theorem shows that (strong) Consistency, Availability, and Partition tolerance are impossible to be ensured together. Causal consistency is one of the weak consistency models that can be implemented to ensure availability and partition tolerance in distributed systems. In this work, we propose a tool to check automatically the conformance of distributed/concurrent systems executions to cau… ▽ More

    Submitted 16 February, 2021; v1 submitted 19 November, 2020; originally announced November 2020.

    Comments: Extended version of the paper <Checking Causal Consistency of Distributed Databases>. It has been published in the Special issue of NETYS2019 by Computing Journal (https://link.springer.com/article/10.1007/s00607-021-00911-3). It is extended with more than 30% of novel contribution, CFP:https://www.springer.com/journal/607/updates/17646200 . Computing is abstracted and indexed by SCOPUS and DBLP

  14. 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

  15. arXiv:1911.01508  [pdf, other

    cs.LO cs.DS

    Verifying Visibility-Based Weak Consistency

    Authors: Siddharth Krishna, Michael Emmi, Constantin Enea, Dejan Jovanovic

    Abstract: Multithreaded programs generally leverage efficient and thread-safe concurrent objects like sets, key-value maps, and queues. While some concurrent-object operations are designed to behave atomically, each witnessing the atomic effects of predecessors in a linearization order, others forego such strong consistency to avoid complex control and synchronization bottlenecks. For example, contains (val… ▽ More

    Submitted 4 November, 2019; originally announced November 2019.

  16. arXiv:1908.04509  [pdf, other

    cs.DB cs.PL

    On the Complexity of Checking Transactional Consistency

    Authors: Ranadeep Biswas, Constantin Enea

    Abstract: Transactions simplify concurrent programming by enabling computations on shared data that are isolated from other concurrent computations and are resilient to failures. Modern databases provide different consistency models for transactions corresponding to different tradeoffs between consistency and availability. In this work, we investigate the problem of checking whether a given execution of a t… ▽ More

    Submitted 13 August, 2019; originally announced August 2019.

  17. Robustness Against Transactional Causal Consistency

    Authors: Sidi Mohamed Beillahi, Ahmed Bouajjani, Constantin Enea

    Abstract: Distributed storage systems and databases are widely used by various types of applications. Transactional access to these storage systems is an important abstraction allowing application programmers to consider blocks of actions (i.e., transactions) as executing atomically. For performance reasons, the consistency models implemented by modern databases are weaker than the standard serializability… ▽ More

    Submitted 2 February, 2021; v1 submitted 28 June, 2019; originally announced June 2019.

    Journal ref: Logical Methods in Computer Science, Volume 17, Issue 1 (February 3, 2021) lmcs:5987

  18. arXiv:1905.12063  [pdf, other

    cs.DC

    Putting Strong Linearizability in Context: Preserving Hyperproperties in Programs that Use Concurrent Objects

    Authors: Hagit Attiya, Constantin Enea

    Abstract: It has been observed that linearizability, the prevalent consistency condition for implementing concurrent objects, does not preserve some probability distributions. A stronger condition, called strong linearizability has been proposed, but its study has been somewhat ad-hoc. This paper investigates strong linearizability by casting it in the context of observational refinement of objects. We pres… ▽ More

    Submitted 28 May, 2019; originally announced May 2019.

  19. arXiv:1905.08406  [pdf, ps, other

    cs.LO

    Checking Robustness Against Snapshot Isolation

    Authors: Sidi Mohamed Beillahi, Ahmed Bouajjani, Constantin Enea

    Abstract: Transactional access to databases is an important abstraction allowing programmers to consider blocks of actions (transactions) as executing in isolation. The strongest consistency model is {\em serializability}, which ensures the atomicity abstraction of transactions executing over a sequentially consistent memory. Since ensuring serializability carries a significant penalty on availability, mode… ▽ More

    Submitted 22 May, 2019; v1 submitted 20 May, 2019; originally announced May 2019.

    Comments: CAV 2019: 31st International Conference on Computer-Aided Verification

  20. arXiv:1903.06560  [pdf, other

    cs.PL

    Replication-Aware Linearizability

    Authors: Constantin Enea, Suha Orhun Mutluergil, Gustavo Petri, Chao Wang

    Abstract: Geo-distributed systems often replicate data at multiple locations to achieve availability and performance despite network partitions. These systems must accept updates at any replica and propagate these updates asynchronously to every other replica. Conflict-Free Replicated Data Types (CRDTs) provide a principled approach to the problem of ensuring that replicas are eventually consistent despite… ▽ More

    Submitted 15 March, 2019; originally announced March 2019.

  21. arXiv:1807.03777  [pdf, other

    cs.SE cs.PL

    Datalog-based Scalable Semantic Diffing of Concurrent Programs

    Authors: Chungha Sung, Shuvendu Lahiri, Constantin Enea, Chao Wang

    Abstract: When an evolving program is modified to address issues related to thread synchronization, there is a need to confirm the change is correct, i.e., it does not introduce unexpected behavior. However, manually comparing two programs to identify the semantic difference is labor intensive and error prone, whereas techniques based on model checking are computationally expensive. To fill the gap, we deve… ▽ More

    Submitted 16 July, 2018; v1 submitted 10 July, 2018; originally announced July 2018.

  22. arXiv:1805.03992  [pdf, other

    cs.DC

    Order out of Chaos: Proving Linearizability Using Local Views

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

    Abstract: Proving the linearizability of highly concurrent data structures, such as those using optimistic concurrency control, is a challenging task. The main difficulty is in reasoning about the view of the memory obtained by the threads, because as they execute, threads observe different fragments of memory from different points in time. Until today, every linearizability proof has tackled this challenge… ▽ More

    Submitted 5 August, 2018; v1 submitted 10 May, 2018; originally announced May 2018.

    Comments: Full version of the DISC'18 paper

  23. arXiv:1804.06612  [pdf, other

    cs.PL cs.LO

    On the Completeness of Verifying Message Passing Programs under Bounded Asynchrony

    Authors: Ahmed Bouajjani, Constantin Enea, Kailiang Ji, Shaz Qadeer

    Abstract: We address the problem of verifying message passing programs, defined as a set of parallel processes communicating through unbounded FIFO buffers. We introduce a bounded analysis that explores a special type of computations, called k-synchronous. These computations can be viewed as (unbounded) sequences of interaction phases, each phase allowing at most k send actions (by different processes), fol… ▽ More

    Submitted 18 April, 2018; originally announced April 2018.

  24. arXiv:1804.05196  [pdf, other

    cs.LO

    Reasoning About TSO Programs Using Reduction and Abstraction

    Authors: Ahmed Bouajjani, Constantin Enea, Suha Orhun Mutluergil, Serdar Tasiran

    Abstract: We present a method for proving that a program running under the Total Store Ordering (TSO) memory model is robust, i.e., all its TSO computations are equivalent to computations under the Sequential Consistency (SC) semantics. This method is inspired by Lipton's reduction theory for proving atomicity of concurrent programs. For programs which are not robust, we introduce an abstraction mechanism t… ▽ More

    Submitted 14 April, 2018; originally announced April 2018.

  25. arXiv:1707.00639  [pdf, other

    cs.PL

    Checking Linearizability of Concurrent Priority Queues

    Authors: Ahmed Bouajjani, Constantin Enea, Chao Wang

    Abstract: Efficient implementations of concurrent objects such as atomic collections are essential to modern computing. Programming such objects is error prone: in minimizing the synchronization overhead between concurrent object invocations, one risks the conformance to sequential specifications -- or in formal terms, one risks violating linearizability. Unfortunately, verifying linearizability is undecida… ▽ More

    Submitted 3 July, 2017; originally announced July 2017.

    Comments: An extended abstract is published in the Proceedings of CONCUR 2017

  26. arXiv:1706.09305  [pdf, other

    cs.SE cs.DC

    Exposing Non-Atomic Methods of Concurrent Objects

    Authors: Michael Emmi, Constantin Enea

    Abstract: Multithreaded software is typically built with specialized concurrent objects like atomic integers, queues, and maps. These objects' methods are designed to behave according to certain consistency criteria like atomicity, despite being optimized to avoid blocking and exploit parallelism, e.g., by using atomic machine instructions like compare and exchange (cmpxchg). Exposing atomicity violations i… ▽ More

    Submitted 28 June, 2017; originally announced June 2017.

  27. arXiv:1702.02705  [pdf, other

    cs.PL

    Proving linearizability using forward simulations

    Authors: Ahmed Bouajjani, Michael Emmi, Constantin Enea, Suha Orhun Mutluergil

    Abstract: Linearizability is the standard correctness criterion concurrent data structures such as stacks and queues. It allows to establish observational refinement between a concurrent implementation and an atomic reference implementation.Proving linearizability requires identifying linearization points for each method invocation along all possible computations, leading to valid sequential executions, or… ▽ More

    Submitted 8 February, 2017; originally announced February 2017.

  28. arXiv:1611.00580  [pdf, ps, other

    cs.LO

    On Verifying Causal Consistency

    Authors: Ahmed Bouajjani, Constantin Enea, Rachid Guerraoui, Jad Hamza

    Abstract: Causal consistency is one of the most adopted consistency criteria for distributed implementations of data structures. It ensures that operations are executed at all sites according to their causal precedence. We address the issue of verifying automatically whether the executions of an implementation of a data structure are causally consistent. We consider two problems: (1) checking whether one si… ▽ More

    Submitted 15 November, 2016; v1 submitted 2 November, 2016; originally announced November 2016.

    Comments: extended version of POPL 2017

  29. arXiv:1507.05581  [pdf, ps, other

    cs.LO cs.SE

    On Automated Lemma Generation for Separation Logic with Inductive Definitions

    Authors: Constantin Enea, Mihaela Sighireanu, Zhilin Wu

    Abstract: 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 relating the inductive definitions. We propose a novel approach for generating these lemmas automatically which is based on simple syntactic criteria and determi… ▽ More

    Submitted 20 July, 2015; originally announced July 2015.

  30. arXiv:1502.06882  [pdf, ps, other

    cs.LO

    On Reducing Linearizability to State Reachability

    Authors: Ahmed Bouajjani, Michael Emmi, Constantin Enea, Jad Hamza

    Abstract: Efficient implementations of atomic objects such as concurrent stacks and queues are especially susceptible to programming errors, and necessitate automatic verification. Unfortunately their correctness criteria - linearizability with respect to given ADT specifications - are hard to verify. Even on classes of implementations where the usual temporal safety properties like control-state reachabili… ▽ More

    Submitted 25 May, 2015; v1 submitted 24 February, 2015; originally announced February 2015.

  31. arXiv:1408.5958  [pdf, other

    cs.LO cs.CC cs.FL

    On the Path-Width of Integer Linear Programming

    Authors: Constantin Enea, Peter Habermehl, Omar Inverso, Gennaro Parlato

    Abstract: We consider the feasibility problem of integer linear programming (ILP). We show that solutions of any ILP instance can be naturally represented by an FO-definable class of graphs. For each solution there may be many graphs representing it. However, one of these graphs is of path-width at most 2n, where n is the number of variables in the instance. Since FO is decidable on graphs of bounded path-… ▽ More

    Submitted 25 August, 2014; originally announced August 2014.

    Comments: In Proceedings GandALF 2014, arXiv:1408.5560

    Journal ref: EPTCS 161, 2014, pp. 74-87

  32. arXiv:1310.6434  [pdf

    cs.GT cs.LO

    Model Checking an Epistemic mu-calculus with Synchronous and Perfect Recall Semantics

    Authors: Rodica Bozianu, Catalin Dima, Constantin Enea

    Abstract: We identify a subproblem of the model-checking problem for the epistemic μ-calculus which is decidable. Formulas in the instances of this subproblem allow free variables within the scope of epistemic modalities in a restricted form that avoids embodying any form of common knowledge. Our subproblem subsumes known decidable fragments of epistemic CTL/LTL, may express winning strategies in two-player… ▽ More

    Submitted 23 October, 2013; originally announced October 2013.

    Comments: 10 pages, Poster presentation at TARK 2013 (arXiv:1310.6382) http://www.tark.org

    Report number: TARK/2013/p175

  33. arXiv:1204.2087  [pdf, ps, other

    cs.LO

    Model-checking an Epistemic μ-calculus with Synchronous and Perfect Recall Semantics

    Authors: Rodica Bozianu, Cătălin Dima, Constantin Enea

    Abstract: We show that the model-checking problem is decidable for a fragment of the epistemic μ-calculus. The fragment allows free variables within the scope of epistemic modalities in a restricted form that avoids constructing formulas embodying any form of common knowledge. Our calculus subsumes known decidable fragments of epistemic CTL/LTL. Its modal variant can express winning strategies in two-player… ▽ More

    Submitted 14 July, 2012; v1 submitted 10 April, 2012; originally announced April 2012.

    MSC Class: 03B70

  34. Model-Checking an Alternating-time Temporal Logic with Knowledge, Imperfect Information, Perfect Recall and Communicating Coalitions

    Authors: Cătălin Dima, Constantin Enea, Dimitar Guelev

    Abstract: We present a variant of ATL with distributed knowledge operators based on a synchronous and perfect recall semantics. The coalition modalities in this logic are based on partial observation of the full history, and incorporate a form of cooperation between members of the coalition in which agents issue their actions based on the distributed knowledge, for that coalition, of the system history. We… ▽ More

    Submitted 7 June, 2010; originally announced June 2010.

    ACM Class: D.2.4

    Journal ref: EPTCS 25, 2010, pp. 103-117

  35. A Generic Framework for Reasoning about Dynamic Networks of Infinite-State Processes

    Authors: Ahmed Bouajjani, Cezara Dragoi, Constantin Enea, Yan Jurski, Mihaela Sighireanu

    Abstract: We propose a framework for reasoning about unbounded dynamic networks of infinite-state processes. We propose Constrained Petri Nets (CPN) as generic models for these networks. They can be seen as Petri nets where tokens (representing occurrences of processes) are colored by values over some potentially infinite data domain such as integers, reals, etc. Furthermore, we define a logic, called CML… ▽ More

    Submitted 22 April, 2009; v1 submitted 18 March, 2009; originally announced March 2009.

    Comments: 29 pages, 5 tables, 1 figure, extended version of the paper published in the the Proceedings of TACAS 2007, LNCS 4424

    ACM Class: E.1; F.3.1; F.4.1; F.4.3; I.2.2

    Journal ref: Logical Methods in Computer Science, Volume 5, Issue 2 (April 22, 2009) lmcs:991