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.

Stephan van Staden

dblp:35/8244 · DBLP profile ↗
← Back
8ranked-venue papers
4as first author
0since 2021 · last 2015
—ORCID · none

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

Software engineering, systems software and programming languages · 4 · 3 first-authorTheory of computation · 4 · 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
Program verification · 79% Programming languages and type systems · 21%

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

TopicWeightPapersLastEvidence papers
Program verification › refinement
refinement calculus
0.112012
Freefinement · POPL 2012
Program verification › program logic
separation logic
0.112010
Reasoning about multiple related abstractions with MultiStar · OOPSLA 2010
Program verification › program logic
hoare logic
0.012012
Freefinement · POPL 2012
Programming languages and type systems
type systems
0.012012
Freefinement · POPL 2012
Programming languages and type systems › object-oriented programming
multiple inheritance
0.012010
Reasoning about multiple related abstractions with MultiStar · OOPSLA 2010
Programming languages and type systems
object-oriented programming
0.012010
Reasoning about multiple related abstractions with MultiStar · OOPSLA 2010

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

separation logic · 0.1abstract predicate families · 0.1
YearPublicationVenuePosition
2015 On Rely-Guarantee Reasoning
Stephan van Staden
MPC1
2014 Developments in Concurrent Kleene Algebra
Tony Hoare, Stephan van Staden, Bernhard Möller, Georg Struth, Jules Villard, Huibiao Zhu, Peter W. O'Hearn
RAMiCS2
2014 The laws of programming unify process calculi
Tony Hoare, Stephan van Staden
Sci. Comput. Program.2
2012 The Laws of Programming Unify Process Calculi
Tony Hoare, Stephan van Staden
MPC2
2012 Freefinement
abstract
Freefinement is an algorithm that constructs a sound refinement calculus from a verification system under certain conditions. In this paper, a verification system is any formal system for establishing whether an inductively defined term, typically a program, satisfies a specification. Examples of verification systems include Hoare logics and type systems. Freefinement first extends the term language to include specification terms, and builds a verification system for the extended language that is a sound and conservative extension of the original system. The extended system is then transformed into a sound refinement calculus. The resulting refinement calculus can interoperate closely with the verification system - it is even possible to reuse and translate proofs between them. Freefinement gives a semantics to refinement at an abstract level: it associates each term of the extended language with a set of terms from the original language, and refinement simply reduces this set. The paper applies freefinement to a simple type system for the lambda calculus and also to a Hoare logic.
Stephan van Staden, Cristiano Calcagno, Bertrand Meyer 0001
POPL1
2012 In praise of algebra
abstract
Abstract We survey the well-known algebraic laws of sequential programming, and extend them with some less familiar laws for concurrent programming. We give an algebraic definition of the Hoare triple, and algebraic proofs of all the relevant laws for concurrent separation logic. We give the provable concurrency laws for Milner transitions, for the Back/Morgan refinement calculus, and for Dijkstra’s weakest preconditions. We end with a section in praise of algebra, of which Carroll Morgan is such a master.
Tony Hoare, Stephan van Staden
Formal Aspects Comput.2
2010 Verifying Executable Object-Oriented Specifications with Separation Logic
Stephan van Staden, Cristiano Calcagno, Bertrand Meyer 0001
ECOOP1
2010 Reasoning about multiple related abstractions with MultiStar
abstract
Encapsulated abstractions are fundamental in object-oriented programming. A single class may employ multiple abstractions to achieve its purpose. Such abstractions are often related and combined in disciplined ways. This paper explores ways to express, verify and rely on logical relationships between abstractions. It introduces two general specification mechanisms: export clauses for relating abstractions in individual classes, and axiom clauses for relating abstractions in a class and all its descendants. MultiStar, an automatic verification tool based on separation logic and abstract predicate families, implements these mechanisms in a multiple inheritance setting. Several verified examples illustrate MultiStar's underlying logic. To demonstrate the flexibility of our approach, we also used MultiStar to verify the core iterator hierarchy of a popular data structure library.
Stephan van Staden, Cristiano Calcagno
OOPSLA1