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.

Williams Ludwell Harrison III

dblp:76/150 · DBLP profile ↗
← Back
8ranked-venue papers
1as first author
0since 2021 · last 1994
—ORCID · none

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

Systems, architecture and hardware · 5 · 1 first-authorSoftware engineering, systems software and programming languages · 3

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
4 papers
Program analysis · 55% Compilers and program optimization · 43% Runtime systems and virtual machines · 2%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Parallel and multicore computing · 100%

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

TopicWeightPapersLastEvidence papers
Compilers and program optimization
dependence analysis
0.021992
Compile-Time Analysis of Parallel Programs that Share Memory · POPL 1992
Automatic Recognition of Induction Variables and Recurrence Relations by Abstract Interpretation · PLDI 1990
Program analysis › program analysis infrastructure
analyzer generation
0.011993
Automatic Generation and Management of Interprocedural Program Analyses · POPL 1993
Program analysis › static analysis
interprocedural analysis
0.011993
Automatic Generation and Management of Interprocedural Program Analyses · POPL 1993
Program analysis
static analysis
0.011993
Automatic Generation and Management of Interprocedural Program Analyses · POPL 1993
Program analysis › static analysis
abstract interpretation
0.011992
Compile-Time Analysis of Parallel Programs that Share Memory · POPL 1992
Compilers and program optimization
parallelizing compiler
0.011992
Compile-Time Analysis of Parallel Programs that Share Memory · POPL 1992
Program analysis › concurrent program analysis
parallel program analysis
0.011992
Compile-Time Analysis of Parallel Programs that Share Memory · POPL 1992
Compilers and program optimization › compiler analysis
induction variable detection
0.011990
Automatic Recognition of Induction Variables and Recurrence Relations by Abstract Interpretation · PLDI 1990
Compilers and program optimization
loop optimization
0.011990
Automatic Recognition of Induction Variables and Recurrence Relations by Abstract Interpretation · PLDI 1990
Parallel and multicore computing › parallel programming models › task parallelism
microtasking
0.011990
Switch-stacks: a scheme for microtasking nested parallel loops · SC 1990
Parallel and multicore computing › parallelization strategies
nested parallelism
0.011990
Switch-stacks: a scheme for microtasking nested parallel loops · SC 1990
Parallel and multicore computing
parallel programming runtimes
0.011990
Switch-stacks: a scheme for microtasking nested parallel loops · SC 1990
Parallel and multicore computing › parallel programming models
shared-memory parallelization
0.011992
Compile-Time Analysis of Parallel Programs that Share Memory · POPL 1992
Runtime systems and virtual machines › runtime environment
runtime scheduling
0.011990
Switch-stacks: a scheme for microtasking nested parallel loops · SC 1990

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

abstract interpretation · 0.0switch-stacks · 0.0dequeue-tasks · 0.0pattern matching · 0.0
YearPublicationVenuePosition
1994 An efficient approach to computing fixpoints for complex program analysis
abstract
A chief source of inefficiency in program analysis using abstract interpretation comes from the fact that a large context (i.e., problem state) is propagated from node to node during the course of an analysis. This problem can be addressed and largely alleviated by a technique we call context projection, which projects an input context for a node to the portion that is actually relevant and determines whether the node should be reevaluated based on the projected context. This technique reduces the cost of an evaluation and eliminates unnecessary evaluations. Therefore, the efficiency of computing fixpoints over general lattices is greatly improved. A specific method, reachability, is presented as an example to accomplish context projection. Experimental results using reachability show very convincing speedups (more than eight for larger programs) that demonstrate the practical significance of context projection.
Li-Ling Chen, Williams Ludwell Harrison III
International Conference on Supercomputing2
1993 Automatic Generation and Management of Interprocedural Program Analyses
abstract
We have designed and implemented an interprocedural program analyzer generator, called system Z. Our goal is to automate the generation and management of semantics-based interprocedural program analysis for a wide range of target languages.
Kwangkeun Yi, Williams Ludwell Harrison III
POPL2
1992 A General Framework for Analyzing Shared-Memory Parallel Programs
Jyh-Herng Chow, Williams Ludwell Harrison III
ICPP (2)2
1992 Compile-Time Analysis of Parallel Programs that Share Memory
abstract
Traditional optimization techniques for sequential programs are not directly applicable to parallel programs where concurrent activities may interfere with each other through shared variables. New compiler techniques must be developed to accommodate features found in parallel languages. In this paper, we use abstract interpretation to obtain useful properties of programs, e.g., side effects, data dependences, object lifetime and concurrent expressions, for a language that supports first-class functions, pointers, dynamic allocations and explicit parallelism through cobegin. These analyses may facilitate many applications, such as program optimization, parallelization, restructuring, memory management, and detecting access anomalies.
Jyh-Herng Chow, Williams Ludwell Harrison III
POPL2
1990 Microtasking Recursive, Parallel Programs
Jyh-Herng Chow, Williams Ludwell Harrison III
ICPP (2)2
1990 Automatic Recognition of Induction Variables and Recurrence Relations by Abstract Interpretation
abstract
The recognition of recurrence relations is important in several ways to the compilation of programs. Induction variables, the simplest form of recurrence, are pivotal in loop optimizations and dependence testing. Many recurrence relations, although expressed sequentially by the programmer, lend themselves to efficient vector or parallel computation. Despite the importance of recurrences, vectorizing and parallelizing compilers to date have recognized them only in an ad-hoc fashion. In this paper we put forth a systematic method for recognizing recurrence relations automatically. Our method has two parts. First, abstract interpretation [CC77, CC79] is used to construct a map that associates each variable assigned in a loop with a symbolic form (expression) of its value. Second, the elements of this map are matched with patterns that describe recurrence relations. The scheme is easily extensible by the addition of templates, and is able to recognize nested recurrences by the propagation of the closed forms of recurrences from inner loops. We present some applications of this method and a proof of its correctness.
Zahira Ammarguellat, Williams Ludwell Harrison III
PLDI2
1990 Switch-stacks: a scheme for microtasking nested parallel loops
abstract
The authors discuss run-time microtasking support for executing nested parallel loops on a shared-memory multiprocessor system, and present a scheme called switch-stacks for implementing such support. They first discuss current approaches to flat microtasking, and investigate how to extend these to full microtasking. They point out the problem of dummy waiting in the processor that initiates a parallel loop. To solve this problem, two schemes, dequeue-tasks and dequeue-descendant-tasks, are considered, and their disadvantages are discussed. The proposed switch-stack scheme perfectly solves the problem. These schemes have been implemented in the PARCEL run-time system. The results show that the new scheme nearly always achieves the best performance in execution time and stability.>
Jyh-Herng Chow, Williams Ludwell Harrison III
SC2
1986 Representing S-Expressions for the Efficient Evaluation of LISP on Parallel Processors
Williams Ludwell Harrison III, David A. Padua
ICPP1