VLDB 2026 Research / reviewers in the wild / expert
Mohamed Faouzi Atig
dblp:42/4028
· DBLP profile ↗
80ranked-venue papers
21as first author
16since 2021 · last 2026
0000-0001-8229-3481ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 46 · 7 first-author · 15 since 2021Theory of computation · 44 · 15 first-author · 4 since 2021Databases, data management, data science and information retrieval · 3 · 1 first-authorArtificial intelligence and machine learning · 1 · 1 first-authorComputer networks · 1Human-computer interaction and ubiquitous computing · 1 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | On the Verification Problem of Remote Direct Memory Access ProgramsabstractAbstract Remote Direct Memory Access (RDMA) is a technology that allows direct memory access from the memory of one computer into that of another without involving either one’s operating system. This enables high-throughput, low-latency networking, which is especially useful in massively parallel computer clusters. In this paper, we study the reachability and robustness problems for RDMA programs. We show that reachability is undecidable in general, even for a restricted fragment of the model. We then focus on robustness, which asks whether a program exhibits the same behaviours under the RDMA and sequential consistency (SC) semantics, and prove that this problem is decidable. Our central technical result establishes a normal form for robustness violations, showing that any non-robust program admits a violating execution of a specific form. We then leverage this normal form to obtain a decision procedure that reduces robustness to reachability in finite-state programs with counters, yielding an ExpSpace upper bound in the general case, and a PSpace upper bound in the absence of poll operations. Finally, we also show that both of these bounds are optimal. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Govind Rajanbabu, Stephan Spengler |
CAV (1) | 2 |
| 2026 | Parametrised Verification of Intel-x86 Programs
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, K. Narayan Kumar, Prakash Saivasan |
Proc. ACM Program. Lang. | 2 |
| 2025 | Checking Consistency of Event-Driven Traces
Parosh Aziz Abdulla, Mohamed Faouzi Atig, R. Govind 0001, Samuel Grahn, Ramanathan S. Thinniyam |
APLAS | 2 |
| 2025 | Verification of the Release-Acquire Semantics
Parosh Aziz Abdulla, Elli Anastasiadi, Mohamed Faouzi Atig, Samuel Grahn |
ICTAC | 3 |
| 2024 | Guiding Word Equation Solving Using Graph Neural Networks
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Julie Cailler, Chencheng Liang, Philipp Rümmer |
ATVA | 2 |
| 2024 | Parsimonious Optimal Dynamic Partial Order ReductionabstractAbstract Stateless model checking is a fully automatic verification technique for concurrent programs that checks for safety violations by exploring all possible thread schedulings. It becomes effective when coupled with Dynamic Partial Order Reduction (DPOR), which introduces an equivalence on schedulings and reduces the amount of needed exploration. DPOR algorithms that are optimal are particularly effective in that they guarantee to explore exactly one execution from each equivalence class. Unfortunately, existing sequence-based optimal algorithms may in the worst case consume memory that is exponential in the size of the analyzed program. In this paper, we present Parsimonious-OPtimal DPOR (POP), an optimal DPOR algorithm for analyzing multi-threaded programs under sequential consistency, whose space consumption is polynomial in the worst case. POP combines several novel algorithmic techniques, including (i) a parsimonious race reversal strategy, which avoids multiple reversals of the same race, (ii) an eager race reversal strategy to avoid storing initial fragments of to-be-explored executions, and (iii) a space-efficient scheme for preventing redundant exploration, which replaces the use of sleep sets. Our implementation in Nidhugg shows that these techniques can significantly speed up the analysis of concurrent programs, and do so with low memory consumption. Comparison to TruSt, a related optimal DPOR algorithm that represents executions as graphs, shows that POP ’s implementation achieves similar performance for smaller benchmarks, and scales much better than TruSt ’s on programs with long executions. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Sarbojit Das, Bengt Jonsson 0001, Konstantinos Sagonas |
CAV (2) | 2 |
| 2024 | Verification under TSO with an infinite Data DomainabstractAbstract We examine verification of concurrent programs under the total store ordering (TSO) semantics used by thex86architecture. In our model, threads manipulate variables over infinite domains and they can check whether variables are related for a range of relations. We show that, in general, the control state reachability problem is undecidable. This result is derived through a reduction from the state reachability problem of lossy channel systems with data (which is known to be undecidable). In the light of this undecidability, we turn our attention to a more tractable variant of the reachability problem. Specifically, we study context bounded runs, which provide an under-approximation of the program behavior by limiting the possible interactions between processes. A run consists of a number of contexts, with each context representing a sequence of steps where a only single designated thread is active. We prove that the control state reachability problem under bounded context switching is PSPACE complete. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Florian Furbach, Shashwat Garg |
TACAS (3) | 2 |
| 2024 | Verification under Intel-x86 with PersistencyabstractThe full semantics of the Intel-x86 architecture has been defined by Raad et al in POPL 2022, extending the earlier formalization based on the TSO memory model incorporating persistency. This new semantics involves an intricate combination of the SC, TSO, and PSO models to account for the diverse features of the enlarged instruction set. In this paper we investigate the reachability problem under this semantics, including both its consistency and persistency aspects each of which requires reasoning about unbounded operation reorderings. Our first contribution is to show that reachability under this model can be reduced to reachability under a model without the persistency component. This is achieved by showing that the persistency semantics can be simulated by a finite-state protocol running in parallel with the program. Our second contribution is to prove that reachability under the consistency model of Intel-x86 (even without crashes and persistency) is undecidable. Undecidability is obtained as soon as one thread in the program is allowed to use both TSO variables and two PSO variables. The third contribution is showing that for any fixed bound on the alternation between TSO writes (write-backs), and PSO writes (non-temporal writes), the reachability problem is decidable. This defines a complete parametrized schema for under-approximate analysis that can be used for bug finding. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, K. Narayan Kumar, Prakash Saivasan |
Proc. ACM Program. Lang. | 2 |
| 2023 | Tailoring Stateless Model Checking for Event-Driven Multi-threaded Programs
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Frederik Bønneland, Sarbojit Das, Bengt Jonsson 0001, Magnus Lång, Konstantinos Sagonas |
ATVA | 2 |
| 2023 | Overcoming Memory Weakness with Unified Fairness - Systematic Verification of Liveness in Weak Memory ModelsabstractAbstract We consider the verification of liveness properties for concurrent programs running on weak memory models. To that end, we identify notions of fairness that preclude demonic non-determinism, are motivated by practical observations, and are amenable to algorithmic techniques. We provide both logical and stochastic definitions of our fairness notions, and prove that they are equivalent in the context of liveness verification. In particular, we show that our fairness allows us to reduce the liveness problem (repeated control state reachability) to the problem of simple control state reachability. We show that this is a general phenomenon by developing a uniform framework which serves as the formal foundation of our fairness definition, and can be instantiated to a wide landscape of memory models. These models include SC, TSO, PSO, (Strong/Weak) Release-Acquire, Strong Coherence, FIFO-consistency, and RMO. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Adwait Godbole, S. Krishna 0004, Mihir Vahanwala |
CAV (1) | 2 |
| 2023 | Parameterized Verification under TSO with Data TypesabstractAbstract We consider parameterized verification of systems executing according to the total store ordering (TSO) semantics. The processes manipulate abstract data types over potentially infinite domains. We present a framework that translates the reachability problem for such systems to the reachability problem for register machines enriched with the given abstract data type. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Florian Furbach, Adwait Godbole, Yacoub G. Hendi, S. Krishna 0004, Stephan Spengler |
TACAS (1) | 2 |
| 2023 | Optimal Stateless Model Checking for Causal ConsistencyabstractAbstract We present a framework for efficient stateless model checking (SMC) of concurrent programs under three prominent models of causal consistency, $${\texttt {CCv}}, {\texttt {CM}}, \texttt{CC}$$ CCv , CM , CC . Our approach is based on exploring traces under the program order "Image missing" and the reads from "Image missing" relations. Our SMC algorithm is provably optimal in the sense that it explores each "Image missing" and "Image missing" relation exactly once. We have implemented our framework in a tool called Conschecker . Experiments show that Conschecker performs well in detecting anomalies in classical distributed databases benchmarks. Parosh Aziz Abdulla, Mohamed Faouzi Atig, S. Krishna 0004, Ashutosh Gupta 0001, Omkar Tuppe |
TACAS (1) | 2 |
| 2022 | Probabilistic Total Store OrderingabstractAbstract We present Probabilistic Total Store Ordering (PTSO) – a probabilistic extension of the classical TSO semantics. For a given (finite-state) program, the operational semantics of PTSO induces an infinite-state Markov chain. We resolve the inherent non-determinism due to process schedulings and memory updates according to given probability distributions. We provide a comprehensive set of results showing the decidability of several properties for PTSO, namely (i) Almost-Sure (Repeated) Reachability: whether a run, starting from a given initial configuration, almost surely visits (resp. almost surely repeatedly visits) a given set of target configurations. (ii) Almost-Never (Repeated) Reachability: whether a run from the initial configuration, almost never visits (resp. almost never repeatedly visits) the target. (iii) Approximate Quantitative (Repeated) Reachability: to approximate, up to an arbitrary degree of precision, the measure of runs that start from the initial configuration and (repeatedly) visit the target. (iv) Expected Average Cost: to approximate, up to an arbitrary degree of precision, the expected average cost of a run from the initial configuration to the target. We derive our results through a nontrivial combination of results from the classical theory of (infinite-state) Markov chains, the theories of decisive and eager Markov chains, specific techniques from combinatorics, as well as, decidability and complexity results for the classical (non-probabilistic) TSO semantics. As far as we know, this is the first work that considers probabilistic verification of programs running on weak memory models. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Raj Aryan Agarwal, Adwait Godbole, S. Krishna 0004 |
ESOP | 2 |
| 2021 | Solving Not-Substring Constraint withFlat Abstraction
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Yu-Fang Chen 0001, Bui Phi Diep, Lukás Holík, Denghang Hu, Wei-Lun Tsai, Zhilin Wu, Di-De Yen |
APLAS | 2 |
| 2021 | The Decidability of Verification under PS 2.0abstractAbstract We consider the reachability problem for finite-state multi-threaded programs under the promising semantics () of Lee et al., which captures most common program transformations. Since reachability is already known to be undecidable in the fragment of with only release-acquire accesses (-), we consider the fragment with only relaxed accesses and promises (). We show that reachability under is undecidable in general and that it becomes decidable, albeit non-primitive recursive, if we bound the number of promises. Given these results, we consider a bounded version of the reachability problem. To this end, we bound both the number of promises and of “view-switches”, i.e., the number of times the processes may switch their local views of the global memory. We provide a code-to-code translation from an input program under (with relaxed and release-acquire memory accesses along with promises) to a program under SC, thereby reducing the bounded reachability problem under to the bounded context-switching problem under SC. We have implemented a tool and tested it on a set of benchmarks, demonstrating that typical bugs in programs can be found with a small bound. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Adwait Godbole, S. Krishna 0004, Viktor Vafeiadis |
ESOP | 2 |
| 2021 | Deciding reachability under persistent x86-TSOabstractWe address the problem of verifying the reachability problem in programs running under the formal model Px86 defined recently by Raad et al. in POPL'20 for the persistent Intel x86 architecture. We prove that this problem is decidable. To achieve that, we provide a new formal model that is equivalent to Px86 and that has the feature of being a well structured system. Deriving this new model is the result of a deep investigation of the properties of Px86 and the interplay of its components. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, K. Narayan Kumar, Prakash Saivasan |
Proc. ACM Program. Lang. | 2 |
| 2020 | Boosting Sequential Consistency Checking Using Saturation
Rachid Zennou, Mohamed Faouzi Atig, Ranadeep Biswas, Ahmed Bouajjani, Constantin Enea, Mohammed Erradi |
ATVA | 2 |
| 2020 | On the Separability Problem of String ConstraintsabstractWe address the separability problem for straight-line string constraints. The separability problem for languages of a class C by a class S asks: given two languages A and B in C, does there exist a language I in S separating A and B (i.e., I is a superset of A and disjoint from B)? The separability of string constraints is the same as the fundamental problem of interpolation for string constraints. We first show that regular separability of straight line string constraints is undecidable. Our second result is the decidability of the separability problem for straight-line string constraints by piece-wise testable languages, though the precise complexity is open. In our third result, we consider the positive fragment of piece-wise testable languages as a separator, and obtain an EXPSPACE algorithm for the separability of a useful class of straight-line string constraints, and a PSPACE-hardness result. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Vrunda Dave, S. Krishna 0004 |
CONCUR | 2 |
| 2020 | Efficient handling of string-number conversionabstractString-number conversion is an important class of constraints needed for the symbolic execution of string-manipulating programs. In particular solving string constraints with string-number conversion is necessary for the analysis of scripting languages such as JavaScript and Python, where string-number conversion is a part of the definition of the core semantics of these languages. However, solving this type of constraint is very challenging for the state-of-the-art solvers. We propose in this paper an approach that can efficiently support both string-number conversion and other common types of string constraints. Experimental results show that it significantly outperforms other state-of-the-art tools on benchmarks that involves string-number conversion. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Yu-Fang Chen 0001, Bui Phi Diep, Julian Dolby, Petr Janku, Hsin-Hung Lin, Lukás Holík, Wei-Cheng Wu |
PLDI | 2 |
| 2020 | Parameterized verification under TSO is PSPACE-completeabstractWe consider parameterized verification of concurrent programs under the Total Store Order (TSO) semantics. A program consists of a set of processes that share a set of variables on which they can perform read and write operations. We show that the reachability problem for a system consisting of an arbitrary number of identical processes is PSPACE-complete. We prove that the complexity is reduced to polynomial time if the processes are not allowed to read the initial values of the variables in the memory. When the processes are allowed to perform atomic read-modify-write operations, the reachability problem has a non-primitive recursive complexity. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Rojin Rezvan |
Proc. ACM Program. Lang. | 2 |
| 2019 | Chain-Free String Constraints
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Bui Phi Diep, Lukás Holík, Petr Janku |
ATVA | 2 |
| 2019 | Verification of programs under the release-acquire semanticsabstractWe address the verification of concurrent programs running under the release-acquire (RA) semantics. We show that the reachability problem is undecidable even in the case where the input program is finite-state. Given this undecidability, we follow the spirit of the work on context-bounded analysis for detecting bugs in programs under the classical SC model, and propose an under-approximate reachability analysis for the case of RA. To this end, we propose a novel notion, called view-switching, and provide a code-to-code translation from an input program under RA to a program under SC. This leads to a reduction, in polynomial time, of the bounded view-switching reachability problem under RA to the bounded context-switching problem under SC. We have implemented a prototype tool VBMC and tested it on a set of benchmarks, demonstrating that many bugs in programs can be found using a small number of view switches. Parosh Aziz Abdulla, Jatin Arora 0002, Mohamed Faouzi Atig, S. Krishna 0004 |
PLDI | 3 |
| 2019 | Reachability in Database-driven Systems with Numerical Attributes under Recency BoundingabstractA prominent research direction of the database theory community is to develop techniques for verification of database-driven systems operating over relational and numerical data. Along this line, we lift the framework of database manipulating systems \citeAbdullaAAMR-pods-16 which handle relational data to also accommodate numerical data and the natural order on them. We study an under-approximation called recency bounding under which the most basic verification problem --reachability, is decidable. Even under this under-approximation the reachability space is infinite in multiple dimensions -- owing to the unbounded sizes of the active domain, the unbounded numerical domain it has access to, and the unbounded length of the executions. We show that, nevertheless, reachability is ExpTime complete. Going beyond reachability to LTL model checking renders verification undecidable. Parosh Aziz Abdulla, C. Aiswarya, Mohamed Faouzi Atig, Marco Montali |
PODS | 3 |
| 2019 | Optimal stateless model checking for reads-from equivalence under sequential consistencyabstractWe present a new approach for stateless model checking (SMC) of multithreaded programs under Sequential Consistency (SC) semantics. To combat state-space explosion, SMC is often equipped with a partial-order reduction technique, which defines an equivalence on executions, and only needs to explore one execution in each equivalence class. Recently, it has been observed that the commonly used equivalence of Mazurkiewicz traces can be coarsened but still cover all program crashes and assertion violations. However, for this coarser equivalence, which preserves only the reads-from relation from writes to reads, there is no SMC algorithm which is (i) optimal in the sense that it explores precisely one execution in each reads-from equivalence class, and (ii) efficient in the sense that it spends polynomial effort per class. We present the first SMC algorithm for SC that is both optimal and efficient in practice , meaning that it spends polynomial time per equivalence class on all programs that we have tried. This is achieved by a novel test that checks whether a given reads-from relation can arise in some execution. We have implemented the algorithm by extending Nidhugg, an SMC tool for C/C++ programs, with a new mode called rfsc. Our experimental results show that Nidhugg/rfsc, although slower than the fastest SMC tools in programs where tools happen to examine the same number of executions, always scales similarly or better than them, and outperforms them by an exponential factor in programs where the reads-from equivalence is coarser than the standard one. We also present two non-trivial use cases where the new equivalence is particularly effective, as well as the significant performance advantage that Nidhugg/rfsc offers compared to state-of-the-art SMC and systematic concurrency testing tools. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Bengt Jonsson 0001, Magnus Lång, Ngo Tuan Phong, Konstantinos Sagonas |
Proc. ACM Program. Lang. | 2 |
| 2018 | Universal Safety for Timed Petri Nets is PSPACE-completeabstractA timed network consists of an arbitrary number of initially identical 1-clock timed automata, interacting via hand-shake communication. In this setting there is no unique central controller, since all automata are initially identical. We consider the universal safety problem for such controller-less timed networks, i.e., verifying that a bad event (enabling some given transition) is impossible regardless of the size of the network. This universal safety problem is dual to the existential coverability problem for timed-arc Petri nets, i.e., does there exist a number m of tokens, such that starting with m tokens in a given place, and none in the other places, some given transition is eventually enabled. We show that these problems are PSPACE-complete. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Radu Ciobanu, Richard Mayr, Patrick Totzke |
CONCUR | 2 |
| 2018 | Verifying Quantitative Temporal Properties of Procedural Programs
Mohamed Faouzi Atig, Ahmed Bouajjani, K. Narayan Kumar, Prakash Saivasan |
CONCUR | 1 |
| 2018 | Trau: SMT solver for string constraintsabstractWe introduce TRAU, an SMT solver for an expressive constraint language, including word equations, length constraints, context-free membership queries, and transducer constraints. The satisfiability problem for such a class of constraints is in general undecidable. The key idea behind TRAU is a technique called flattening, which searches for satisfying assignments that follow simple patterns. TRAU implements a Counter-Example Guided Abstraction Refinement (CEGAR) framework which contains both an under- and an over-approximation module. The approximations are refined in an automatic manner by information flow between the two modules. The technique implemented by TRAU can handle a rich class of string constraints and has better performance than state-of-the-art string solvers. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Yu-Fang Chen 0001, Bui Phi Diep, Lukás Holík, Ahmed Rezine, Philipp Rümmer |
FMCAD | 2 |
| 2018 | Verification of Timed Asynchronous ProgramsabstractIn this paper, we address the verification problem for timed asynchronous programs. We associate to each task, a deadline for its execution. We first show that the control state reachability problem for such class of systems is decidable while the configuration reachability problem is undecidable. Then, we consider the subclass of timed asynchronous programs where tasks are always being executed from the same state. For this subclass, we show that the control state reachability problem is PSPACE-complete. Furthermore, we show the decidability for the configuration reachability problem for the subclass. Parosh Aziz Abdulla, Mohamed Faouzi Atig, S. Krishna 0004, Shaan Vaidya |
FSTTCS | 2 |
| 2018 | Replacing Store Buffers by Load Buffers in TSO
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, Ngo Tuan Phong |
VECoS | 2 |
| 2018 | A Load-Buffer Semantics for Total Store OrderingabstractWe 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 parametric way with an arbitrarily large number of processes. In this paper, we introduce an alternative (yet equivalent) semantics to the classical one for the TSO semantics that is more amenable to efficient algorithmic verification and for the extension to parametric verification. For that, we adopt a dual view where load buffers are used instead of store buffers. The flow of information is now from the memory to load buffers. We show that this new semantics allows (1) to simplify drastically the safety analysis under TSO, (2) to obtain a spectacular gain in efficiency and scalability compared to existing procedures, and (3) to extend easily the decision procedure to the parametric case, which allows obtaining a new decidability result, and more importantly, a verification algorithm that is more general and more efficient in practice than the one for bounded instances. Comment: Logic in computer science Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, Ngo Tuan Phong |
Log. Methods Comput. Sci. | 2 |
| 2018 | Mending Fences with Self-Invalidation and Self-Downgrade
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Stefanos Kaxiras, Carl Leonardsson, Alberto Ros 0001, Yunyun Zhu |
Log. Methods Comput. Sci. | 2 |
| 2018 | Optimal stateless model checking under the release-acquire semanticsabstractWe present a framework for the efficient application of stateless model checking (SMC) to concurrent programs running under the Release-Acquire (RA) fragment of the C/C++11 memory model. Our approach is based on exploring the possible program orders, which define the order in which instructions of a thread are executed, and read-from relations, which specify how reads obtain their values from writes. This is in contrast to previous approaches, which also explore the possible coherence orders, i.e., orderings between conflicting writes. Since unexpected test results such as program crashes or assertion violations depend only on the read-from relation, we avoid a potentially significant source of redundancy. Our framework is based on a novel technique for determining whether a particular read-from relation is feasible under the RA semantics. We define an SMC algorithm which is provably optimal in the sense that it explores each program order and read-from relation exactly once. This optimality result is strictly stronger than previous analogous optimality results, which also take coherence order into account. We have implemented our framework in the tool Tracer. Experiments show that Tracer can be significantly faster than state-of-the-art tools that can handle the RA semantics. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Bengt Jonsson 0001, Ngo Tuan Phong |
Proc. ACM Program. Lang. | 2 |
| 2017 | Data Multi-Pushdown AutomataabstractWe extend the classical model of multi-pushdown systems by considering systems that operate on a finite set of variables ranging over natural numbers. The conditions on variables are defined via gap-order constraints that allow to compare variables for equality, or to check that the gap between the values of two variables exceeds a given natural number. Furthermore, each message inside a stack is equipped with a data item representing its value. When a message is pushed to the stack, its value may be defined by a variable. When a message is popped, its value may be copied to a variable. Thus, we obtain a system that is infinite in multiple dimensions, namely we have a number of stacks that may contain an unbounded number of messages each of which is equipped with a natural number. It is well-known that the verification of any non-trivial property of multi-pushdown systems is undecidable, even for two stacks and for a finite data-domain. In this paper, we show the decidability of the reachability problem for the classes of data multi-pushdown system that admit a bounded split-width (or equivalently a bounded tree-width). As an immediate consequence, we obtain decidability for several subclasses of data multi-pushdown systems. These include systems with single stacks, restricted ordering policies on stack operations, bounded scope, bounded phase, and bounded context switches. Parosh Aziz Abdulla, C. Aiswarya, Mohamed Faouzi Atig |
CONCUR | 3 |
| 2017 | Verification of Asynchronous Programs with Nested LocksabstractIn this paper, we consider asynchronous programs consisting of multiple recursive threads running in parallel. Each of the threads is equipped with a multi-set. The threads can create tasks and post them onto the multi-sets or read a task from their own. In addition, they can synchronise through a finite set of locks. In this paper, we show that the reachability problem for such class of asynchronous programs is undecidable even under the nested locking policy. We then show that the reachability problem becomes decidable (Exp-space-complete) when the locks are not allowed to be held across tasks. Finally, we show that the problem is NP-complete when in addition to previous restrictions, threads always read tasks from the same state. Mohamed Faouzi Atig, Ahmed Bouajjani, K. Narayan Kumar, Prakash Saivasan |
FSTTCS | 1 |
| 2017 | On the Upward/Downward Closures of Petri NetsabstractWe study the size and the complexity of computing finite state automata (FSA) representing and approximating the downward and the upward closure of Petri net languages with coverability as the acceptance condition. We show how to construct an FSA recognizing the upward closure of a Petri net language in doubly-exponential time, and therefore the size is at most doubly exponential. For downward closures, we prove that the size of the minimal automata can be non-primitive recursive. In the case of BPP nets, a well-known subclass of Petri nets, we show that an FSA accepting the downward/upward closure can be constructed in exponential time. Furthermore, we consider the problem of checking whether a simple regular language is included in the downward/upward closure of a Petri net/BPP net language. We show that this problem is EXPSPACE-complete (resp. NP-complete) in the case of Petri nets (resp. BPP nets). Finally, we show that it is decidable whether a Petri net language is upward/downward closed. To this end, we prove that one can decide whether a given regular language is a subset of a Petri net coverability language. Mohamed Faouzi Atig, Roland Meyer 0001, Sebastian Muskalla, Prakash Saivasan |
MFCS | 1 |
| 2017 | Flatten and conquer: a framework for efficient analysis of string constraintsabstractWe describe a uniform and efficient framework for checking the satisfiability of a large class of string constraints. The framework is based on the observation that both satisfiability and unsatisfiability of common constraints can be demonstrated through witnesses with simple patterns. These patterns are captured using flat automata each of which consists of a sequence of simple loops. We build a Counter-Example Guided Abstraction Refinement (CEGAR) framework which contains both an under- and an over-approximation module. The flow of information between the modules allows to increase the precision in an automatic manner. We have implemented the framework as a tool and performed extensive experimentation that demonstrates both the generality and efficiency of our method. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Yu-Fang Chen 0001, Bui Phi Diep, Lukás Holík, Ahmed Rezine, Philipp Rümmer |
PLDI | 2 |
| 2017 | Context-Bounded Analysis for POWER
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, Ngo Tuan Phong |
TACAS (2) | 2 |
| 2017 | Stateless model checking for TSO and PSO
Parosh Aziz Abdulla, Stavros Aronis, Mohamed Faouzi Atig, Bengt Jonsson 0001, Carl Leonardsson, Konstantinos Sagonas |
Acta Informatica | 3 |
| 2016 | Stateless Model Checking for POWER
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Bengt Jonsson 0001, Carl Leonardsson |
CAV (2) | 2 |
| 2016 | The Benefits of Duality in Verifying Concurrent Programs under TSOabstractWe address the problem of verifying safety properties of concurrent programs running over the 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 correctness of a system/algorithm in a parametric way with an arbitrarily large number of processes. In this paper, we introduce an alternative (yet equivalent) semantics to the classical one for the TSO model that is more amenable for efficient algorithmic verification and for extension to parametric verification. For that, we adopt a dual view where load buffers are used instead of store buffers. The flow of information is now from the memory to load buffers. We show that this new semantics allows (1) to simplify drastically the safety analysis under TSO, (2) to obtain a spectacular gain in efficiency and scalability compared to existing procedures, and (3) to extend easily the decision procedure to the parametric case, which allows to obtain a new decidability result, and more importantly, a verification algorithm that is more general and more efficient in practice than the one for bounded instances. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, Ngo Tuan Phong |
CONCUR | 2 |
| 2016 | Counter-Example Guided Program Verification
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Bui Phi Diep |
FM | 2 |
| 2016 | Fencing Programs with Self-Invalidation and Self-Downgrade
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Stefanos Kaxiras, Carl Leonardsson, Alberto Ros 0001, Yunyun Zhu |
FORTE | 2 |
| 2016 | Data Communicating Processes with Unreliable ChannelsabstractWe extend the classical model of lossy channel systems by considering systems that operate on a finite set of variables ranging over an infinite data domain. Furthermore, each message inside a channel is equipped with a data item representing its value. Although we restrict the model by allowing the variables to be only tested for (dis-)equality, we show that the state reachability problem is undecidable. In light of this negative result, we consider bounded-phase reachability, where the processes are restricted to performing either send or receive operations during each phase. We show decidability of state reachability in this case by computing a symbolic encoding of the set of system configurations that are reachable from a given configuration. Parosh Aziz Abdulla, C. Aiswarya, Mohamed Faouzi Atig |
LICS | 3 |
| 2016 | The complexity of regular abstractions of one-counter languagesabstractWe study the computational and descriptional complexity of the following transformation: Given a one-counter automaton (OCA) A, construct a nondeterministic finite automaton (NFA) B that recognizes an abstraction of the language L(A): its (1) downward closure, (2) upward closure, or (3) Parikh image. For the Parikh image over a fixed alphabet and for the upward and downward closures, we find polynomial-time algorithms that compute such an NFA. For the Parikh image with the alphabet as part of the input, we find a quasi-polynomial time algorithm and prove a completeness result: we construct a sequence of OCA that admits a polynomial-time algorithm iff there is one for all OCA. For all three abstractions, it was previously unknown whether appropriate NFA of sub-exponential size exist. Mohamed Faouzi Atig, Dmitry Chistikov 0001, Piotr Hofman, K. Narayan Kumar, Prakash Saivasan, Georg Zetzsche |
LICS | 1 |
| 2016 | Recency-Bounded Verification of Dynamic Database-Driven SystemsabstractWe propose a formalism to model database-driven systems, called database manipulating systems (DMS). The actions of a (DMS) modify the current instance of a relational database by adding new elements into the database, deleting tuples from the relations and adding tuples to the relations. The elements which are modified by an action are chosen by (full) first-order queries. (DMS) is a highly expressive model and can be thought of as a succinct representation of an infinite state relational transition system, in line with similar models proposed in the literature. We propose monadic second order logic (MSO-FO) to reason about sequences of database instances appearing along a run. Unsurprisingly, the linear-time model checking problem of (DMS) against (MSO-FO) is undecidable. Towards decidability, we propose under-approximate model checking of (DMS), where the under-approximation parameter is the "bound on recency". In a k-recency-bounded run, only the most recent k elements in the current active domain may be modified by an action. More runs can be verified by increasing the bound on recency. Our main result shows that recency-bounded model checking of (DMS) against (MSO-FO) is decidable, by a reduction to the satisfiability problem of MSO over nested words. Parosh Aziz Abdulla, C. Aiswarya, Mohamed Faouzi Atig, Marco Montali, Othmane Rezine |
PODS | 3 |
| 2016 | Acceleration in Multi-PushDown Systems
Mohamed Faouzi Atig, K. Narayan Kumar, Prakash Saivasan |
TACAS | 1 |
| 2015 | Norn: An SMT Solver for String Constraints
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Yu-Fang Chen 0001, Lukás Holík, Ahmed Rezine, Philipp Rümmer, Jari Stenman |
CAV (1) | 2 |
| 2015 | The Best of Both Worlds: Trading Efficiency and Optimality in Fence Insertion for TSO
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ngo Tuan Phong |
ESOP | 2 |
| 2015 | Verification of Cache Coherence Protocols wrt. Trace FiltersabstractWe address the problem of parameterized verification of cache coherence protocols for hardware accelerated transactional memories. In this setting, transactional memories leverage on the versioning capabilities of the underlying cache coherence protocol. The length of the transactions, their number, and the number of manipulated variables (i.e., cache lines) are parameters of the verification problem. Caches in such systems are finite-state automata communicating via broadcasts and shared variables. We augment our system with filters that restrict the set of possible executable traces according to existing conflict resolution policies. We show that the verification of coherence for parameterized cache protocols with filters can be reduced to systems with only a finite number of cache lines. For verification, we show how to account for the effect of the adopted filters in a symbolic backward reachability algorithm based on the framework of constrained monotonic abstraction. We have implemented our method and used it to verify transactional memory coherence protocols with respect to different conflict resolution policies. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Zeinab Ganjei, Ahmed Rezine, Yunyun Zhu |
FMCAD | 2 |
| 2015 | What's Decidable about Availability Languages?abstractWe study here the algorithmic analysis of systems modeled in terms of availability languages. Our first main result is a positive answer to the emptiness problem: it is decidable whether a given availability language contains a word. The key idea is an inductive construction that replaces availability languages with Parikh-equivalent regular languages. As a second contribution, we solve the intersection problem modulo bounded languages: given availability languages and a bounded language, it is decidable whether the intersection of the former contains a word from the bounded language. We show that the problem is NP-complete. The idea is to reduce to satisfiability of existential Presburger arithmetic. Since the (general) intersection problem for availability languages is known to be undecidable, our results characterize the decidability border for this model. Our last contribution is a study of the containment problem between regular and availability languages. We show that safety verification, i.e., checking containment of an availability language in a regular language, is decidable. The containment problem of regular languages in availability languages is proven undecidable. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Roland Meyer 0001, Mehdi Seyed Salehi |
FSTTCS | 2 |
| 2015 | Stateless Model Checking for TSO and PSO
Parosh Aziz Abdulla, Stavros Aronis, Mohamed Faouzi Atig, Bengt Jonsson 0001, Carl Leonardsson, Konstantinos Sagonas |
TACAS | 3 |
| 2014 | Activity profiles in online social mediaabstractAnalysis and mining of social media has become an important research area. A challenging problem in this area consists in the identification of a group of users with similar patterns. In this paper, we propose the classification of users based on their activity profiles (e.g., periods of the day when the user is most and least active in online communications). Activity profiles can be useful for many purposes, such as marketing and user behavior analysis. They can also serve as a basis for other techniques such as stylometric and time analysis in order to increase the precision and scalability of multiple aliases identification techniques. We have implemented a prototype tool and applied it on a dataset from the ICWSM data set Boards.ie, showing the usefulness of our classification. Mohamed Faouzi Atig, Sofia Cassel, Lisa Kaati, Amendra Shrestha |
ASONAM | 1 |
| 2014 | String Constraints for Verification
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Yu-Fang Chen 0001, Lukás Holík, Ahmed Rezine, Philipp Rümmer, Jari Stenman |
CAV | 2 |
| 2014 | Verification of Dynamic Register AutomataabstractWe consider the verification problem for Dynamic Register Automata (DRA). DRA extend classical register automata by process creation. In this setting, each process is equipped with a finite set of registers in which the process IDs of other processes can be stored. A process can communicate with processes whose IDs are stored in its registers and can send them the content of its registers. The state reachability problem asks whether a DRA reaches a configuration where at least one process is in an error state. We first show that this problem is in general undecidable. This result holds even when we restrict the analysis to configurations where the maximal length of the simple paths in their underlying (un)directed communication graphs are bounded by some constant. Then we introduce the model of degenerative DRA which allows non-deterministic reset of the registers. We prove that for every given DRA, its corresponding degenerative one has the same set of reachable states. While the state reachability of a degenerative DRA remains undecidable, we show that the problem becomes decidable with nonprimitive recursive complexity when we restrict the analysis to strongly bounded configurations, i.e. configurations whose underlying undirected graphs have bounded simple paths. Finally, we consider the class of strongly safe DRA, where all the reachable configurations are assumed to be strongly bounded. We show that for strongly safe DRA, the state reachability problem becomes decidable. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmet Kara 0002, Othmane Rezine |
FSTTCS | 2 |
| 2014 | On Bounded Reachability Analysis of Shared Memory SystemsabstractThis paper addresses the reachability problem for pushdown systems communicating via shared memory. It is already known that this problem is undecidable. It turns out that undecidability holds even if the shared memory consists of a single boolean variable. We propose a restriction on the behaviours of such systems, called stage bound, towards decidability. A k stage bounded run can be split into a k stages, such that in each stage there is at most one process writing to the shared memory while any number of processes may read from it. We consider several versions of stage-bounded systems and establish decidability and complexity results. Mohamed Faouzi Atig, Ahmed Bouajjani, K. Narayan Kumar, Prakash Saivasan |
FSTTCS | 1 |
| 2014 | Computing Optimal Reachability Costs in Priced Dense-Timed Pushdown Automata
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Jari Stenman |
LATA | 2 |
| 2014 | Budget-bounded model-checking pushdown systems
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Othmane Rezine, Jari Stenman |
Formal Methods Syst. Des. | 2 |
| 2013 | Analysis of Message Passing Programs Using SMT-Solvers
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Jonathan Cederberg |
ATVA | 2 |
| 2013 | Adjacent Ordered Multi-Pushdown Systems
Mohamed Faouzi Atig, K. Narayan Kumar, Prakash Saivasan |
Developments in Language Theory | 1 |
| 2013 | Memorax, a Precise and Sound Tool for Automatic Fence Insertion under TSO
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Yu-Fang Chen 0001, Carl Leonardsson, Ahmed Rezine |
TACAS | 2 |
| 2012 | Linear-Time Model-Checking for Multithreaded Programs under Scope-Bounding
Mohamed Faouzi Atig, Ahmed Bouajjani, K. Narayan Kumar, Prakash Saivasan |
ATVA | 1 |
| 2012 | Detecting Fair Non-termination in Multithreaded Programs
Mohamed Faouzi Atig, Ahmed Bouajjani, Michael Emmi, Akash Lal |
CAV | 1 |
| 2012 | What's Decidable about Weak Memory Models?
Mohamed Faouzi Atig, Ahmed Bouajjani, Sebastian Burckhardt, Madan Musuvathi |
ESOP | 1 |
| 2012 | Multi-pushdown systems with budgets
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Othmane Rezine, Jari Stenman |
FMCAD | 2 |
| 2012 | Timed Lossy Channel SystemsabstractLossy channel systems are a classical model with applications ranging from the modeling of communication protocols to programs running on weak memory models. All existing work assume that messages traveling inside the channels are picked from a finite alphabet. In this paper, we extend the model by assuming that each message is equipped with a clock representing the age of the message, thus obtaining the model of Timed Lossy Channel Systems (TLCS). The main contribution of the paper is to show that the control state reachability problem is decidable for TLCS. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Jonathan Cederberg |
FSTTCS | 2 |
| 2012 | The Minimal Cost Reachability Problem in Priced Timed Pushdown Systems
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Jari Stenman |
LATA | 2 |
| 2012 | Dense-Timed Pushdown AutomataabstractWe propose a model that captures the behavior of real-time recursive systems. To that end, we introduce dense-timed pushdown automata that extend the classical models of pushdown automata and timed automata, in the sense that the automaton operates on a finite set of real-valued clocks, and each symbol in the stack is equipped with a real-valued clock representing its "age". The model induces a transition system that is infinite in two dimensions, namely it gives rise to a stack with an unbounded number of symbols each of which with a real-valued clock. The main contribution of the paper is an EXPTIME-complete algorithm for solving the reachability problem for dense-timed pushdown automata. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Jari Stenman |
LICS | 2 |
| 2012 | Automatic Fence Insertion in Integer Programs via Predicate Abstraction
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Yu-Fang Chen 0001, Carl Leonardsson, Ahmed Rezine |
SAS | 2 |
| 2012 | Counter-Example Guided Fence Insertion under TSO
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Yu-Fang Chen 0001, Carl Leonardsson, Ahmed Rezine |
TACAS | 2 |
| 2011 | Getting Rid of Store-Buffers in TSO Analysis
Mohamed Faouzi Atig, Ahmed Bouajjani, Gennaro Parlato |
CAV | 1 |
| 2011 | Approximating Petri Net Reachability Along Context-free TracesabstractWe investigate the problem asking whether the intersection of a context-free language (CFL) and a Petri net language (PNL) is empty. Our contribution to solve this long-standing problem which relates, for instance, to the reachability analysis of recursive programs over unbounded data domain, is to identify a class of CFLs called the finite-index CFLs for which the problem is decidable. The k-index approximation of a CFL can be obtained by discarding all the words that cannot be derived within a budget k on the number of occurrences of non-terminals. A finite-index CFL is thus a CFL which coincides with its k-index approximation for some k. We decide whether the intersection of a finite-index CFL and a PNL is empty by reducing it to the reachability problem of Petri nets with weak inhibitor arcs, a class of systems with infinitely many states for which reachability is known to be decidable. Conversely, we show that the reachability problem for a Petri net with weak inhibitor arcs reduces to the emptiness problem of a finite-index CFL intersected with a PNL. Mohamed Faouzi Atig, Pierre Ganty |
FSTTCS | 1 |
| 2010 | From Multi to Single Stack Automata
Mohamed Faouzi Atig |
CONCUR | 1 |
| 2010 | Global Model Checking of Ordered Multi-Pushdown SystemsabstractIn this paper, we address the verification problem of ordered multi-pushdown systems: A multi-stack extension of pushdown systems that comes with a constraint on stack operations such that a pop can only be performed on the first non-empty stack. First, we show that for an ordered multi-pushdown system the set of all predecessors of a regular set of configurations is an effectively constructible regular set. Then, we exploit this result to solve the global model checking which consists in computing the set of all configurations of an ordered multi-pushdown system that satisfy a given $w$-regular property (expressible in linear-time temporal logics or the linear-time $\mu$-calculus). As an immediate consequence of this result, we obtain an 2ETIME upper bound for the model checking problem of $w$-regular properties for ordered multi-pushdown systems (matching its lower-bound). Mohamed Faouzi Atig |
FSTTCS | 1 |
| 2010 | On the verification problem for weak memory modelsabstractWe address the verification problem of finite-state concurrent programs running under weak memory models. These models capture the reordering of program (read and write) operations done by modern multi-processor architectures for performance. The verification problem we study is crucial for the correctness of concurrency libraries and other performance-critical system services employing lock-free synchronization, as well as for the correctness of compiler backends that generate code targeted to run on such architectures. Mohamed Faouzi Atig, Ahmed Bouajjani, Sebastian Burckhardt, Madan Musuvathi |
POPL | 1 |
| 2010 | Verifying parallel programs with dynamic communication structures
Tayssir Touili, Mohamed Faouzi Atig |
Theor. Comput. Sci. | 2 |
| 2009 | Context-Bounded Analysis for Concurrent Programs with Dynamic Creation of Threads
Mohamed Faouzi Atig, Ahmed Bouajjani, Shaz Qadeer |
TACAS | 1 |
| 2009 | Verifying Parallel Programs with Dynamic Communication Structures
Mohamed Faouzi Atig, Tayssir Touili |
CIAA | 1 |
| 2008 | On the Reachability Analysis of Acyclic Networks of Pushdown Systems
Mohamed Faouzi Atig, Ahmed Bouajjani, Tayssir Touili |
CONCUR | 1 |
| 2008 | Emptiness of Multi-pushdown Automata Is 2ETIME-Complete
Mohamed Faouzi Atig, Benedikt Bollig, Peter Habermehl |
Developments in Language Theory | 1 |
| 2008 | Analyzing Asynchronous Programs with PreemptionabstractMultiset pushdown systems have been introduced by Sen and Viswanathan as an adequate model for asynchronous programs where some procedure calls can be stored as tasks to be processed later. The model is a pushdown system supplied with a multiset of pending tasks. Tasks may be added to the multiset at each transition, whereas a task is taken from the multiset only when the stack is empty. In this paper, we consider an extension of these models where tasks may be of different priority level, and can be preempted at any point of their execution by tasks of higher priority. We investigate the control point reachability problem for these models. Our main result is that this problem is decidable by reduction to the reachability problem for a decidable class of Petri nets with inhibitor arcs. We also identify two subclasses of these models for which the control point reachability problem is reducible respectively to the reachability problem and to the coverability problem for Petri nets (without inhibitor arcs). Mohamed Faouzi Atig, Ahmed Bouajjani, Tayssir Touili |
FSTTCS | 1 |