Mark J. Wheelhouse

dblp:65/3183 · also Mark James Wheelhouse · DBLP profile ↗
← Back
3ranked-venue papers
0as first author
0since 2021 · last 2011
0000-0001-8548-2122ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 1Databases, data management, data science and information retrieval · 1Theory of computation · 1

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
Program verification · 58% Concurrent programming · 35% Programming languages and type systems · 7%
Databases, data mining, and information retrieval
1 paper
Data models and query languages · 100%

Topics — the 3 heaviest of 5, 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
Program verification › program logic
hoare logic
0.112008
Local Hoare reasoning about DOM · PODS 2008

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
2011 Abstract Local Reasoning for Program Modules
Thomas Dinsdale-Young, Philippa Gardner, Mark J. Wheelhouse
CALCO3
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
OOPSLA5
2008 Local Hoare reasoning about DOM
abstract
The W3C Document Object Model (DOM) specifies an XML update library. DOM is written in English, and is therefore not compositional and not complete. We provide a first step towards a compositional specification of DOM. Unlike DOM, we are able to work with a minimal set of commands and obtain a complete reasoning for straight-line code. Our work transfers O'Hearn, Reynolds and Yang's local Hoare reasoning for analysing heaps to XML, viewing XML as an in-place memory store as does DOM. In particular, we apply recent work by Calcagno, Gardner and Zarfaty on local Hoare reasoning about simple tree update to this real-world DOM application. Our reasoning not only formally specifies a significant subset of DOM Core Level 1, but can also be used to verify, for example, invariant properties of simple Javascript programs.
Philippa Gardner, Gareth Smith, Mark J. Wheelhouse, Uri Zarfaty
PODS3