Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.

Pedro da Rocha Pinto

dblp:40/10322 · DBLP profile ↗
← Back
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

TopicWeightPapersLastEvidence papers
Concurrent programming
concurrent data structures
0.112011
A simple abstraction for complex concurrent indexes · OOPSLA 2011
Program verification
specification verification
0.112011
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
YearPublicationVenuePosition
2018 A Concurrent Specification of POSIX File Systems
abstract
POSIX 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
ECOOP2
2017 Caper - Automatic Verification for Fine-Grained Concurrency
Thomas Dinsdale-Young, Pedro da Rocha Pinto, Kristoffer Just Arndal Andersen, Lars Birkedal
ESOP2
2017 Abstract Specifications for Concurrent Maps
Shale Xiong, Pedro da Rocha Pinto, Gian Ntzik, Philippa Gardner
ESOP2
2016 Modular Termination Verification for Non-blocking Concurrency
Pedro da Rocha Pinto, Thomas Dinsdale-Young, Philippa Gardner, Julian Sutherland
ESOP1
2015 Fault-Tolerant Resource Reasoning
Gian Ntzik, Pedro da Rocha Pinto, Philippa Gardner
APLAS2
2014 TaDA: A Logic for Time and Data Abstraction
Pedro da Rocha Pinto, Thomas Dinsdale-Young, Philippa Gardner
ECOOP1
2011 A simple abstraction for complex concurrent indexes
abstract
Indexes 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
OOPSLA1