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.

Andrew K. Wright

dblp:84/5522 · DBLP profile ↗
← Back
10ranked-venue papers
5as first author
0since 2021 · last 2004
—ORCID · none

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

Software engineering, systems software and programming languages · 8 · 3 first-authorSecurity and privacy · 1 · 1 first-authorTheory of computation · 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
6 papers
Program analysis · 47% Programming languages and type systems · 27% Compilers and program optimization · 26%

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

TopicWeightPapersLastEvidence papers
Compilers and program optimization › compiler optimization › redundancy elimination
run-time check elimination
0.021998
Polymorphic Splitting: An Effective Polyvariant Flow Analysis · ACM Trans. Program. Lang. Syst. 1998
A Practical Soft Type System for Scheme · ACM Trans. Program. Lang. Syst. 1997
Compilers and program optimization › interprocedural optimization
inlining
0.021998
Polymorphic Splitting: An Effective Polyvariant Flow Analysis · ACM Trans. Program. Lang. Syst. 1998
Flow-directed Inlining · PLDI 1996
Programming languages and type systems
type inference
0.021997
A Practical Soft Type System for Scheme · ACM Trans. Program. Lang. Syst. 1997
Type-Dependent Parameter Inference · PLDI 1990
Program analysis
flow analysis
0.011998
Polymorphic Splitting: An Effective Polyvariant Flow Analysis · ACM Trans. Program. Lang. Syst. 1998
Program analysis › flow analysis
higher-order flow analysis
0.011998
Single and Loving It: Must-Alias Analysis for Higher-Order Languages · POPL 1998
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
polyvariant flow analysis
0.011998
Polymorphic Splitting: An Effective Polyvariant Flow Analysis · ACM Trans. Program. Lang. Syst. 1998
Program analysis
static analysis
0.011998
Single and Loving It: Must-Alias Analysis for Higher-Order Languages · POPL 1998
Programming languages and type systems › type systems
soft typing
0.011997
A Practical Soft Type System for Scheme · ACM Trans. Program. Lang. Syst. 1997
Program analysis
control flow analysis
0.011996
Flow-directed Inlining · PLDI 1996
Programming languages and type systems › type systems
type soundness
0.011994
A Syntactic Approach to Type Soundness · Inf. Comput. 1994
Programming languages and type systems › type systems › polymorphism
overloading
0.011990
Type-Dependent Parameter Inference · PLDI 1990
Programming languages and type systems › type inference
polymorphic type inference
0.011990
Type-Dependent Parameter Inference · PLDI 1990
Programming languages and type systems
higher-order languages
0.011998
Polymorphic Splitting: An Effective Polyvariant Flow Analysis · ACM Trans. Program. Lang. Syst. 1998
Programming languages and type systems › type systems
dynamic typing
0.011997
A Practical Soft Type System for Scheme · ACM Trans. Program. Lang. Syst. 1997

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

control flow analysis · 0.0data flow analysis · 0.0abstract interpretation · 0.0union types · 0.0recursive types · 0.0hindley-milner type inference · 0.0procedure specialization · 0.0
YearPublicationVenuePosition
2004 Low-Latency Cryptographic Protection for SCADA Communications
Andrew K. Wright, John A. Kinast, Joe McCarty
ACNS1
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
POPL4
1998 Polymorphic Splitting: An Effective Polyvariant Flow Analysis
abstract
This article describes a general-purpose program analysis that computes global control-flow and data-flow information for higher-order, call-by-value languages. The analysis employs a novel form of polyvariance called polymorhic splitting that uses let-expressions as syntactic clues to gain precision. The information derived from the analysis is used both to eliminate run-time checks and to inline procedure. The analysis and optimizations have been applied to a suite of Scheme programs. Experimental results obtained from the prototype implementation indicate that the analysis is extremely precise and has reasonable cost. Compared to monovariant flow analyses such as 0CFA, or analyses based on type inference such as soft typing, the analysis eliminates significantly more run-time checks. Run-time check elimination and inlining together typically yield a 20 to 40% performance improvement for the benchmark suite, with some programs running four times as fast.
Andrew K. Wright, Suresh Jagannathan
ACM Trans. Program. Lang. Syst.1
1997 Type-Directed Flow Analysis for Typed Intermediate Languages
Suresh Jagannathan, Stephen Weeks, Andrew K. Wright
SAS3
1997 A Practical Soft Type System for Scheme
abstract
Asoft type systeminfers types for the procedures and data structures of dynamically typed programs. Like conventional static types, soft types express program invariants and thereby provide valuable information for program optimization and debugging. A soft typecheckeruses the types inferred by a soft type system to eliminate run-time checks that are provably unnecessary; any remaining run-time checks are flagged as potential program errors.Soft Schemeis a practical soft type checker for R4RS Scheme. Its underlying type system generalizes conventional Hindley-Milner type inference by incorporating recursive types and a limited form of union type. Soft Scheme accommodates all of R4RS Scheme including uncurried procedures of fixed and variable arity, assignment, and continuations.
Andrew K. Wright, Robert Cartwright
ACM Trans. Program. Lang. Syst.1
1996 Flow-directed Inlining
abstract
A flow-directed inlining strategy uses information derived from control-flow analysis to specialize and inline procedures for functional and object-oriented languages. Since it uses control-flow analysis to identify candidate call sites, flow-directed inlining can inline procedures whose relationships to their call sites are not apparent. For instance, procedures defined in other modules, passed as arguments, returned as values, or extracted from data structures can all be inlined. Flow-directed inlining specializes procedures for particular call sites, and can selectively inline a particular procedure at some call sites but not at others. Finally, flow-directed inlining encourages modular implementations: control-flow analysis, inlining, and post-inlining optimizations are all orthogonal components. Results from a prototype implementation indicate that this strategy effectively reduces procedure call overhead and leads to significant reduction in execution time.
Suresh Jagannathan, Andrew K. Wright
PLDI2
1995 Effective Flow Analysis for Avoiding Run-Time Checks
Suresh Jagannathan, Andrew K. Wright
SAS2
1994 A Syntactic Approach to Type Soundness
Andrew K. Wright, Matthias Felleisen
Inf. Comput.1
1992 Typing References by Effect Inference
Andrew K. Wright
ESOP1
1990 Type-Dependent Parameter Inference
abstract
An algorithm is presented to infer the type and operation parameters of polymorphic functions. Operation parameters are named and typed at the function definition, but are selected from the set of overloaded definitions available wherever the function is used. These parameters are always implicit, implying that the complexity of using a function does not increase with the generality of its type.
Gordon V. Cormack, Andrew K. Wright
PLDI2