EDBT 2026 Demo / reviewers in the wild / expert
Ngo Tuan Phong
dblp:26/9406 · also Tuan Phong Ngo
· DBLP profile ↗
7ranked-venue papers
0as first author
0since 2021 · last 2019
0000-0003-4993-0092ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5Theory of computation · 3
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
2 papers |
Concurrent programming · 62% Program verification · 38% |
Topics — the 7 heaviest of 7, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming
concurrency bugs |
0.7 | 2 | 2019 | Optimal stateless model checking for reads-from equivalence under sequential consistency · Proc. ACM Program. Lang. 2019 Optimal stateless model checking under the release-acquire semantics · Proc. ACM Program. Lang. 2018 |
Program verification › model checking
stateless model checking |
0.7 | 2 | 2019 | Optimal stateless model checking for reads-from equivalence under sequential consistency · Proc. ACM Program. Lang. 2019 Optimal stateless model checking under the release-acquire semantics · Proc. ACM Program. Lang. 2018 |
Program verification › model checking
partial order reduction |
0.5 | 2 | 2019 | Optimal stateless model checking for reads-from equivalence under sequential consistency · Proc. ACM Program. Lang. 2019 Optimal stateless model checking under the release-acquire semantics · Proc. ACM Program. Lang. 2018 |
Concurrent programming
memory models |
0.4 | 2 | 2019 | Optimal stateless model checking under the release-acquire semantics · Proc. ACM Program. Lang. 2018 Optimal stateless model checking for reads-from equivalence under sequential consistency · Proc. ACM Program. Lang. 2019 |
Concurrent programming › memory models › weak memory models
c11 memory model |
0.3 | 1 | 2018 | Optimal stateless model checking under the release-acquire semantics · Proc. ACM Program. Lang. 2018 |
Concurrent programming › memory models › weak memory models
release-acquire semantics |
0.3 | 1 | 2018 | Optimal stateless model checking under the release-acquire semantics · Proc. ACM Program. Lang. 2018 |
Concurrent programming › memory models
sequential consistency |
0.1 | 1 | 2019 | Optimal stateless model checking for reads-from equivalence under sequential consistency · Proc. ACM Program. Lang. 2019 |
Methods — techniques the papers use, named apart from their topics
stateless model checking · 0.7partial order reduction · 0.4read-from relation feasibility · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 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. | 5 |
| 2018 | Replacing Store Buffers by Load Buffers in TSO
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, Ngo Tuan Phong |
VECoS | 4 |
| 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. | 4 |
| 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. | 4 |
| 2017 | Context-Bounded Analysis for POWER
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, Ngo Tuan Phong |
TACAS (2) | 4 |
| 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 | 4 |
| 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 | 3 |