Demo Data from VLDB 2026 / reviewers in the wild / expert
Roger Wolff
dblp:66/9655
· DBLP profile ↗
3ranked-venue papers
1as first author
0since 2021 · last 2014
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 1 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
2 papers |
Programming languages and type systems · 88% Program analysis · 7% Concurrent programming · 5% |
Topics — the 5 heaviest of 5, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems
type systems |
0.3 | 2 | 2014 | Foundations of Typestate-Oriented Programming · ACM Trans. Program. Lang. Syst. 2014 Permission-based programming languages · ICSE 2011 |
Programming languages and type systems › type systems
gradual typing |
0.2 | 1 | 2014 | Foundations of Typestate-Oriented Programming · ACM Trans. Program. Lang. Syst. 2014 |
Programming languages and type systems › type systems › behavioral type systems
typestate |
0.2 | 1 | 2014 | Foundations of Typestate-Oriented Programming · ACM Trans. Program. Lang. Syst. 2014 |
Program analysis
static analysis |
0.1 | 1 | 2014 | Foundations of Typestate-Oriented Programming · ACM Trans. Program. Lang. Syst. 2014 |
Concurrent programming
synchronization |
0.0 | 1 | 2011 | Permission-based programming languages · ICSE 2011 |
Methods — techniques the papers use, named apart from their topics
state guarantees · 0.2runtime checks · 0.2access permissions · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2014 | Foundations of Typestate-Oriented ProgrammingabstractTypestate reflects how the legal operations on imperative objects can change at runtime as their internal state changes. A typestate checker can statically ensure, for instance, that an object method is only called when the object is in a state for which the operation is well defined. Prior work has shown how modular typestate checking can be achieved thanks to access permissions and state guarantees. However, typestate was not treated as a primitive language concept: typestate checkers are an additional verification layer on top of an existing language. In contrast, a typestate-oriented programming (TSOP) language directly supports expressing typestates. For example, in the Plaid programming language, the typestate of an object directly corresponds to its class, and that class can change dynamically. Plaid objects have not only typestate-dependent interfaces but also typestate-dependent behaviors and runtime representations. This article lays foundations for TSOP by formalizing a nominal object-oriented language with mutable state that integrates typestate change and typestate checking as primitive concepts. We first describe a statically typed language—Featherweight Typestate (FT)—where the types of object references are augmented with access permissions and state guarantees. We describe a novel flow-sensitive permission-based type system for FT. Because static typestate checking is still too rigid for some applications, we then extend this language into a gradually typed language—Gradual Featherweight Typestate (GFT). This language extends the notion of gradual typing to account for typestate: gradual typestate checking seamlessly combines static and dynamic checking by automatically inserting runtime checks into programs. The gradual type system of GFT allows programmers to write dynamically safe code even when the static type checker can only partly verify it. Ronald Garcia, Éric Tanter, Roger Wolff, Jonathan Aldrich |
ACM Trans. Program. Lang. Syst. | 3 |
| 2011 | Gradual Typestate
Roger Wolff, Ronald Garcia, Éric Tanter, Jonathan Aldrich |
ECOOP | 1 |
| 2011 | Permission-based programming languagesabstractLinear permissions have been proposed as a lightweight way to specify how an object may be aliased, and whether those aliases allow mutation. Prior work has demonstrated the value of permissions for addressing many software engineering concerns, including information hiding, protocol checking, concurrency, security, and memory management. Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, Roger Wolff |
ICSE | 10 |