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

Roger Wolff

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

TopicWeightPapersLastEvidence papers
Programming languages and type systems
type systems
0.322014
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.212014
Foundations of Typestate-Oriented Programming · ACM Trans. Program. Lang. Syst. 2014
Programming languages and type systems › type systems › behavioral type systems
typestate
0.212014
Foundations of Typestate-Oriented Programming · ACM Trans. Program. Lang. Syst. 2014
Program analysis
static analysis
0.112014
Foundations of Typestate-Oriented Programming · ACM Trans. Program. Lang. Syst. 2014
Concurrent programming
synchronization
0.012011
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
YearPublicationVenuePosition
2014 Foundations of Typestate-Oriented Programming
abstract
Typestate 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
ECOOP1
2011 Permission-based programming languages
abstract
Linear 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
ICSE10