Skip to main content

Showing 1–24 of 24 results for author: Bouajjani, A

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

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

  3. arXiv:2205.14943  [pdf, ps, other

    cs.PL cs.LG

    Data-driven Numerical Invariant Synthesis with Automatic Generation of Attributes

    Authors: Ahmed Bouajjani, Wael-Amine Boutglay, Peter Habermehl

    Abstract: We propose a data-driven algorithm for numerical invariant synthesis and verification. The algorithm is based on the ICE-DT schema for learning decision trees from samples of positive and negative states and implications corresponding to program transitions. The main issue we address is the discovery of relevant attributes to be used in the learning process of numerical invariants. We define a met… ▽ More

    Submitted 7 July, 2022; v1 submitted 30 May, 2022; originally announced May 2022.

    ACM Class: F.3.1

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

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

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

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

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

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

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

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

  12. arXiv:1702.01655  [pdf, other

    cs.PL cs.FL cs.LO

    Context-Bounded Model Checking for POWER

    Authors: Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, Tuan Phong Ngo

    Abstract: We propose an under-approximate reachability analysis algorithm for programs running under the POWER memory model, in the spirit of the work on context-bounded analysis intitiated by Qadeer et al. in 2005 for detecting bugs in concurrent programs (supposed to be running under the classical SC model). To that end, we first introduce a new notion of context-bounding that is suitable for reasoning… ▽ More

    Submitted 23 September, 2019; v1 submitted 3 February, 2017; originally announced February 2017.

    Comments: A preliminary version of this article will appear at TACAS'17

  13. A Load-Buffer Semantics for Total Store Ordering

    Authors: Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, Tuan Phong Ngo

    Abstract: We address the problem of verifying safety properties of concurrent programs running over the Total Store Order (TSO) memory model. Known decision procedures for this model are based on complex encodings of store buffers as lossy channels. These procedures assume that the number of processes is fixed. However, it is important in general to prove the correctness of a system/algorithm in a parametri… ▽ More

    Submitted 22 January, 2018; v1 submitted 30 January, 2017; originally announced January 2017.

    Comments: Logic in computer science

    Journal ref: Logical Methods in Computer Science, Volume 14, Issue 1 (January 23, 2018) lmcs:3109

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

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

  16. arXiv:1501.02683  [pdf, ps, other

    cs.PL

    Lazy TSO Reachability

    Authors: Ahmed Bouajjani, Georgel Calin, Egor Derevenetc, Roland Meyer

    Abstract: We address the problem of checking state reachability for programs running under Total Store Order (TSO). The problem has been shown to be decidable but the cost is prohibitive, namely non-primitive recursive. We propose here to give up completeness. Our contribution is a new algorithm for TSO reachability: it uses the standard SC semantics and introduces the TSO semantics lazily and only where ne… ▽ More

    Submitted 12 January, 2015; originally announced January 2015.

    Comments: accepted to FASE 2015

    MSC Class: 68Q60 ACM Class: D.2.4; D.1.3; D.3.4

  17. arXiv:1208.6152  [pdf, ps, other

    cs.PL

    Checking Robustness against TSO

    Authors: Ahmed Bouajjani, Egor Derevenetc, Roland Meyer

    Abstract: We present algorithms for checking and enforcing robustness of concurrent programs against the Total Store Ordering (TSO) memory model. A program is robust if all its TSO computations correspond to computations under the Sequential Consistency (SC) semantics. We provide a complete characterization of non-robustness in terms of so-called attacks: a restricted form of (harmful) out-of-program-orde… ▽ More

    Submitted 29 October, 2012; v1 submitted 30 August, 2012; originally announced August 2012.

    MSC Class: 68Q60 ACM Class: D.2.4; D.1.3; D.3.4

  18. arXiv:1205.6928  [pdf, ps, other

    cs.LO cs.FL cs.GT

    Model checking Branching-Time Properties of Multi-Pushdown Systems is Hard

    Authors: Mohamed Faouzi Atig, Ahmed Bouajjani, K. Narayan Kumar, Prakash Saivasan

    Abstract: We address the model checking problem for shared memory concurrent programs modeled as multi-pushdown systems. We consider here boolean programs with a finite number of threads and recursive procedures. It is well-known that the model checking problem is undecidable for this class of programs. In this paper, we investigate the decidability and the complexity of this problem under the assumption of… ▽ More

    Submitted 31 May, 2012; originally announced May 2012.

  19. Context-Bounded Analysis For Concurrent Programs With Dynamic Creation of Threads

    Authors: Mohamed Faouzi Atig, Ahmed Bouajjani, Shaz Qadeer

    Abstract: Context-bounded analysis has been shown to be both efficient and effective at finding bugs in concurrent programs. According to its original definition, context-bounded analysis explores all behaviors of a concurrent program up to some fixed number of context switches between threads. This definition is inadequate for programs that create threads dynamically because bounding the number of context… ▽ More

    Submitted 22 November, 2011; v1 submitted 3 November, 2011; originally announced November 2011.

    ACM Class: D.2.4, D.3.1, F.4.3, I.2.2

    Journal ref: Logical Methods in Computer Science, Volume 7, Issue 4 (November 23, 2011) lmcs:708

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

  21. arXiv:0901.4080  [pdf, ps, other

    cs.LO

    A Framework to Handle Linear Temporal Properties in (ω-)Regular Model Checking

    Authors: Ahmed Bouajjani, Axel Legay, Pierre Wolper

    Abstract: Since the topic emerged several years ago, work on regular model checking has mostly been devoted to the verification of state reachability and safety properties. Though it was known that linear temporal properties could also be checked within this framework, little has been done about working out the corresponding details. This paper addresses this issue in the context of regular model checking… ▽ More

    Submitted 26 January, 2009; originally announced January 2009.

  22. Symbolic Reachability Analysis of Higher-Order Context-Free Processes

    Authors: Ahmed Bouajjani, Antoine Meyer

    Abstract: We consider the problem of symbolic reachability analysis of higher-order context-free processes. These models are generalizations of the context-free processes (also called BPA processes) where each process manipulates a data structure which can be seen as a nested stack of stacks. Our main result is that, for any higher-order context-free process, the set of all predecessors of a given regular… ▽ More

    Submitted 28 May, 2007; originally announced May 2007.

    Journal ref: FSTTCS 2004: Foundations of Software Technology and Theoretical Computer Science (24/11/2004) 135-147

  23. A Logic of Reachable Patterns in Linked Data-Structures

    Authors: Greta Yorsh, Alexander Rabinovich, Mooly Sagiv, Antoine Meyer, Ahmed Bouajjani

    Abstract: 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 neighborhood of a node that is reachable via a regular expression from a designated node. The logic is closed under boolean operations (entailment, negation) and ha… ▽ More

    Submitted 24 May, 2007; originally announced May 2007.

    Journal ref: Foundations of Software Science and Computation Structures (29/03/2006) p. 94-110

  24. arXiv:cs/0505033  [pdf, ps, other

    cs.LO

    Parametric Verification of a Group Membership Algorithm

    Authors: Ahmed Bouajjani, Agathe Merceron

    Abstract: We address the problem of verifying clique avoidance in the TTP protocol. TTP allows several stations embedded in a car to communicate. It has many mechanisms to ensure robustness to faults. In particular, it has an algorithm that allows a station to recognize itself as faulty and leave the communication. This algorithm must satisfy the crucial 'non-clique' property: it is impossible to have two… ▽ More

    Submitted 12 May, 2005; originally announced May 2005.

    Comments: 34 pages. To appear in Theory and Practice of Logic Programming (TPLP)