VLDB 2026 Research / reviewers in the wild / expert
Pedro da Rocha Pinto
dblp:40/10322
· DBLP profile ↗
7ranked-venue papers
3as first author
0since 2021 · last 2018
0000-0002-5879-5948ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 3 first-author
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
1 paper |
Concurrent programming · 50% Program verification · 50% | |
| Databases, data mining, and information retrieval
1 paper |
Data models and query languages · 100% |
Topics — the 2 heaviest of 3, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming
concurrent data structures |
0.1 | 1 | 2011 | A simple abstraction for complex concurrent indexes · OOPSLA 2011 |
Program verification
specification verification |
0.1 | 1 | 2011 | A simple abstraction for complex concurrent indexes · OOPSLA 2011 |
Methods — techniques the papers use, named apart from their topics
linked list · 0.2hash table · 0.2b-link tree · 0.2abstract specification · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | A Concurrent Specification of POSIX File SystemsabstractPOSIX is a standard for operating systems, with a substantial part devoted to specifying file-system operations. File-system operations exhibit complex concurrent behaviour, comprising multiple actions affecting different parts of the state: typically, multiple atomic reads followed by an atomic update. However, the standard's description of concurrent behaviour is unsatisfactory: it is fragmented; contains ambiguities; and is generally under-specified. We provide a formal concurrent specification of POSIX file systems and demonstrate scalable reasoning for clients. Our specification is based on a concurrent specification language, which uses a modern concurrent separation logic for reasoning about abstract atomic operations, and an associated refinement calculus. Our reasoning about clients highlights an important difference between reasoning about modules built over a heap, where the interference on the shared state is restricted to the operations of the module, and modules built over a file system, where the interference cannot be restricted as the file system is a public namespace. We introduce specifications conditional on context invariants used to restrict the interference, and apply our reasoning to the example of lock files. Gian Ntzik, Pedro da Rocha Pinto, Julian Sutherland, Philippa Gardner |
ECOOP | 2 |
| 2017 | Caper - Automatic Verification for Fine-Grained Concurrency
Thomas Dinsdale-Young, Pedro da Rocha Pinto, Kristoffer Just Arndal Andersen, Lars Birkedal |
ESOP | 2 |
| 2017 | Abstract Specifications for Concurrent Maps
Shale Xiong, Pedro da Rocha Pinto, Gian Ntzik, Philippa Gardner |
ESOP | 2 |
| 2016 | Modular Termination Verification for Non-blocking Concurrency
Pedro da Rocha Pinto, Thomas Dinsdale-Young, Philippa Gardner, Julian Sutherland |
ESOP | 1 |
| 2015 | Fault-Tolerant Resource Reasoning
Gian Ntzik, Pedro da Rocha Pinto, Philippa Gardner |
APLAS | 2 |
| 2014 | TaDA: A Logic for Time and Data Abstraction
Pedro da Rocha Pinto, Thomas Dinsdale-Young, Philippa Gardner |
ECOOP | 1 |
| 2011 | A simple abstraction for complex concurrent indexesabstractIndexes are ubiquitous. Examples include associative arrays, dictionaries, maps and hashes used in applications such as databases, file systems and dynamic languages. Abstractly, a sequential index can be viewed as a partial function from keys to values. Values can be queried by their keys, and the index can be mutated by adding or removing mappings. Whilst appealingly simple, this abstract specification is insufficient for reasoning about indexes accessed concurrently. We present an abstract specification for concurrent indexes. We verify several representative concurrent client applications using our specification, demonstrating that clients can reason abstractly without having to consider specific underlying implementations. Our specification would, however, mean nothing if it were not satisfied by standard implementations of concurrent indexes. We verify that our specification is satisfied by algorithms based on linked lists, hash tables and B-Link trees. The complexity of these algorithms, in particular the B-Link tree algorithm, can be completely hidden from the client's view by our abstract specification. Pedro da Rocha Pinto, Thomas Dinsdale-Young, Mike Dodds, Philippa Gardner, Mark J. Wheelhouse |
OOPSLA | 1 |