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.
? Tutorial for this page

Justus Matthiesen

dblp:161/9139 · DBLP profile ↗
← Back
1ranked-venue papers
0as first author
0since 2021 · last 2016
—ORCID · none

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

Software engineering, systems software and programming languages · 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
1 paper
Programming languages and type systems · 70% Concurrent programming · 23% Program analysis · 7%

Topics — the 5 heaviest of 5, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems › language semantics › memory model semantics
c memory model
0.212016
Into the depths of C: elaborating the de facto standards · PLDI 2016
Programming languages and type systems › language semantics
c semantics
0.212016
Into the depths of C: elaborating the de facto standards · PLDI 2016
Programming languages and type systems
language semantics
0.212016
Into the depths of C: elaborating the de facto standards · PLDI 2016
Concurrent programming
memory models
0.212016
Into the depths of C: elaborating the de facto standards · PLDI 2016
Program analysis › static analysis
pointer analysis
0.112016
Into the depths of C: elaborating the de facto standards · PLDI 2016

Methods — techniques the papers use, named apart from their topics

semantic test cases · 0.2operational semantics · 0.2elaboration to core language · 0.2
YearPublicationVenuePosition
2016 Into the depths of C: elaborating the de facto standards
abstract
C remains central to our computing infrastructure. It is notionally defined by ISO standards, but in reality the properties of C assumed by systems code and those implemented by compilers have diverged, both from the ISO standards and from each other, and none of these are clearly understood. We make two contributions to help improve this error-prone situation. First, we describe an in-depth analysis of the design space for the semantics of pointers and memory in C as it is used in practice. We articulate many specific questions, build a suite of semantic test cases, gather experimental data from multiple implementations, and survey what C experts believe about the de facto standards. We identify questions where there is a consensus (either following ISO or differing) and where there are conflicts. We apply all this to an experimental C implemented above capability hardware. Second, we describe a formal model, Cerberus, for large parts of C. Cerberus is parameterised on its memory model; it is linkable either with a candidate de facto memory object model, under construction, or with an operational C11 concurrency model; it is defined by elaboration to a much simpler Core language for accessibility, and it is executable as a test oracle on small examples. This should provide a solid basis for discussion of what mainstream C is now: what programmers and analysis tools can assume and what compilers aim to implement. Ultimately we hope it will be a step towards clear, consistent, and accepted semantics for the various use-cases of C.
Kayvan Memarian, Justus Matthiesen, James Lingard, Kyndylan Nienhuis, David Chisnall, Robert N. M. Watson, Peter Sewell
PLDI2