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

Stephen Weeks

dblp:68/3907 · DBLP profile ↗
← Back
8ranked-venue papers
2as first author
0since 2021 · last 2008
—ORCID · none

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

Software engineering, systems software and programming languages · 7 · 1 first-authorSecurity and privacy · 1 · 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
3 papers
Program analysis · 75% Programming languages and type systems · 25%
Theoretical computer science
1 paper
Logic in computer science · 100%
Network and information security
1 paper
Authentication and access control · 100%

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

TopicWeightPapersLastEvidence papers
Program analysis › flow analysis
higher-order flow analysis
0.021998
Single and Loving It: Must-Alias Analysis for Higher-Order Languages · POPL 1998
A Unified Treatment of Flow Analysis in Higher-Order Languages · POPL 1995
Program analysis
static analysis
0.021998
Single and Loving It: Must-Alias Analysis for Higher-Order Languages · POPL 1998
A Unified Treatment of Flow Analysis in Higher-Order Languages · POPL 1995
Authentication and access control
trust management
0.012001
Understanding Trust Management Systems · S&P 2001
Logic in computer science › fixpoint logic
least fixed point
0.012001
Understanding Trust Management Systems · S&P 2001
Logic in computer science
semantics
0.012001
Understanding Trust Management Systems · S&P 2001
Program analysis › static analysis › pointer analysis
must-alias analysis
0.011998
Single and Loving It: Must-Alias Analysis for Higher-Order Languages · POPL 1998
Program analysis › static analysis
pointer analysis
0.011998
Single and Loving It: Must-Alias Analysis for Higher-Order Languages · POPL 1998
Program analysis
flow analysis
0.011995
A Unified Treatment of Flow Analysis in Higher-Order Languages · POPL 1995
Programming languages and type systems › evaluation strategies
call-by-name
0.011993
On the Orthogonality of Assignments and Procedures in Algol · POPL 1993
Programming languages and type systems › language semantics › formal semantics
imperative language semantics
0.011993
On the Orthogonality of Assignments and Procedures in Algol · POPL 1993
Programming languages and type systems
lambda calculus
0.011993
On the Orthogonality of Assignments and Procedures in Algol · POPL 1993
Programming languages and type systems
language semantics
0.011993
On the Orthogonality of Assignments and Procedures in Algol · POPL 1993
Authentication and access control › authorization
authorization logic
0.012001
Understanding Trust Management Systems · S&P 2001

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

mathematical framework · 0.1lattice semantics · 0.1abstract interpretation · 0.0strong normalization · 0.0church-rosser theorem · 0.0
YearPublicationVenuePosition
2008 Caml trading - experiences with functional programming on Wall Street
abstract
Abstract Jane Street Capital is a successful proprietary trading company that uses OCaml as its primary development language. We have over twenty OCaml programmers and hundreds of thousands of lines of OCaml code. We use OCaml for a wide range of tasks: critical trading systems, quantitative research, systems software, and system administration. We value OCaml because it allows us to rapidly produce readable, correct, efficient code to solve complex problems, and to change that code quickly to adapt to a changing world. We believe that using OCaml gives us a significant advantage over competitors that use languages like VB, Perl, C++, C#, or Java. It also makes finding and hiring high-quality software developers easier than with mainstream languages. We have invested deeply in OCaml and intend to use OCaml and grow our team of functional programmers for the foreseeable future.
Yaron Minsky, Stephen Weeks
J. Funct. Program.2
2001 Contification Using Dominators
abstract
Contification is a compiler optimization that turns a function that always returns to the same place into a continuation. Compilers for functional languages use contification to expose the control-flow information that is required by many optimizations, including traditional loop optimizations. This paper gives a formal presentation of contification in MLton, a whole-program optimizing Standard ML compiler. We present two existing algorithms for contification in our framework, as well as a new algorithm based on the dominator tree of a program's call graph. We prove that the dominator algorithm is optimal. We present benchmark results on realistic SML programs demonstrating that contification has minimal overhead on compile time and significantly improves run time.
Matthew Fluet, Stephen Weeks
ICFP2
2001 Understanding Trust Management Systems
abstract
We present a mathematical framework for expressing trust management systems. The framework makes it easier to understand existing systems and to compare them to one another as well as to design new systems. The framework defines the semantics of a trust management engine via a least fixpoint in a lattice, which, in some situations, leads to an efficient implementation. To demonstrate its flexibility, we present KeyNote and SPKI as instantiations by the framework.
Stephen Weeks
S&P1
2000 Flow-Directed Closure Conversion for Typed Languages
Henry Cejtin, Suresh Jagannathan, Stephen Weeks
ESOP3
1998 Single and Loving It: Must-Alias Analysis for Higher-Order Languages
abstract
In standard control-flow analyses for higher-order languages, a single abstract binding for a variable represents a set of exact bindings, and a single abstract reference cell represents a set of exact reference cells. While such analyses provide useful may-alias information, they are unable to answer mustalias questions about variables and cells, as these questions ask about equality of specific bindings and references.In this paper, we present a novel program analysis for higher-order languages that answers must-alias questions. At every program point, the analysis associates with each variable and abstract cell a cardinality, which is either single or multiple. If variable x is single at program point p, then all bindings for x in the heap reachable from the environment at p hold the same value. If abstract cell r is single at p, then at most one exact cell corresponding to r is reachable from the environment at p.Must-alias information facilitates various program optimizations such as lightweight closure conversion [19]. In addition, must-alias information permits analyses to perform strong updates [3] on abstract reference cells known to be single. Strong updates improve analysis precision for programs that make significant use of state.A prototype implementation of our analysis yields encouraging results. Over a range of benchmarks, our analysis classifies a large majority of the variables as single.
Suresh Jagannathan, Peter Thiemann 0001, Stephen Weeks, Andrew K. Wright
POPL3
1997 Type-Directed Flow Analysis for Typed Intermediate Languages
Suresh Jagannathan, Stephen Weeks, Andrew K. Wright
SAS2
1995 A Unified Treatment of Flow Analysis in Higher-Order Languages
abstract
We describe a framework for flow analysis in higher-order languages. It is both a synthesis and extension of earlier work in this area, most notably [20, 22]
Suresh Jagannathan, Stephen Weeks
POPL2
1993 On the Orthogonality of Assignments and Procedures in Algol
abstract
According to folklore, Algol is an “orthogonal” extension of a simple imperative programming language with a call-by-name functional language. The former contains assignments, branching constructs, and compound statements; the latter is based on the typed λ-calculus. In an attempt to formalize the claim of “orthogonality”, we define a simple version of Algol and an extended λ-calculus. The calculus includes the full β-rule and rules for the reduction of assignment statements and commands. It has the usual properties, e.g., it satisfies a Church-Rosser and Strong Normalization Theorem. In support of the claim that the imperative and functional components are orthogonal to each other, we show that the proofs of these theorems are combinations of separate Church-Rosser and Strong Normalization theorems for each sublanguage.
Stephen Weeks, Matthias Felleisen
POPL1