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

Erik Ruf

dblp:r/ErikRuf · DBLP profile ↗
← Back
10ranked-venue papers
7as first author
0since 2021 · last 2002
—ORCID · none

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

Software engineering, systems software and programming languages · 9 · 7 first-authorGraphics, computer vision, multimedia, augmented reality and games · 1Human-computer interaction and ubiquitous computing · 1

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
5 papers
Program analysis · 46% Compilers and program optimization · 36% Concurrent programming · 15%
Computer graphics and multimedia
1 paper
Rendering · 100%

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

TopicWeightPapersLastEvidence papers
Program analysis › static analysis
pointer analysis
0.021997
Partitioning Dataflow Analyses Using Types · POPL 1997
Context-Insensitive Alias Analysis Reconsidered · PLDI 1995
Program analysis
static analysis
0.021997
Partitioning Dataflow Analyses Using Types · POPL 1997
Context-Insensitive Alias Analysis Reconsidered · PLDI 1995
Concurrent programming
synchronization
0.012000
Effective synchronization removal for Java · PLDI 2000
Compilers and program optimization › parallel program optimization › synchronization optimization
synchronization elimination
0.012000
Effective synchronization removal for Java · PLDI 2000
Program analysis
data flow analysis
0.011997
Partitioning Dataflow Analyses Using Types · POPL 1997
Compilers and program optimization
partial evaluation
0.011996
Data Specialization · PLDI 1996
Programming languages and type systems
type inference
0.011997
Partitioning Dataflow Analyses Using Types · POPL 1997
Compilers and program optimization
program specialization
0.011995
Specializing shaders · SIGGRAPH 1995

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

partial evaluation · 0.0escape analysis · 0.0equivalence-class-based analysis · 0.0type inference · 0.0sparse dataflow analysis · 0.0dynamic compilation · 0.0context-sensitive analysis · 0.0
YearPublicationVenuePosition
2002 Improving the Precision of Equality-Based Dataflow Analyses
Erik Ruf
SAS1
2000 Effective synchronization removal for Java
abstract
We present a new technique for removing unnecessary synchronization operations from statically compiled Java programs. Our approach improves upon current efforts based on escape analysis, as it can eliminate synchronization operations even on objects that escape their allocating threads. It makes use of a compact, equivalence-class-based representation that eliminates the need for fixed point operations during the analysis.
Erik Ruf
PLDI1
2000 Marmot: an optimizing compiler for Java
abstract
The Marmot system is a research platform for studying the implementation of high level programming languages. It currently comprises an optimizing native-code compiler, runtime system, and libraries for a large subset of Java. Marmot integrates well-known representation, optimization, code generation, and runtime techniques with a few Java-specific features to achieve competitive performance. This paper contains a description of the Marmot system design, along with highlights of our experience applying and adapting traditional implementation techniques to Java. A detailed performance evaluation assesses both Marmot's overall performance relative to other Java and C++ implementations, and the relative costs of various Java language features in Marmot-compiled code. Our experience with Marmot has demonstrated that well-known compilation techniques can produce very good performance for static Java applications – comparable or superior to other Java systems, and approaching that of C++ in some cases. Copyright © 2000 John Wiley & Sons, Ltd.
Robert P. Fitzgerald, Todd B. Knoblock, Erik Ruf, Bjarne Steensgaard, David Tarditi
Softw. Pract. Exp.3
1997 Partitioning Dataflow Analyses Using Types
abstract
We present a simple method for partitioning a dataflow analysis problem into a series of related subproblems. We use type information (either declared by the programmer, or computed via nonstandard type inference) to conservatively approximate analysis-time data dependences between program quantities. This dependence information frees us from the need to model all program quantities simultaneously in a single, monolithic analysis. Instead, we can model quantities in any order, or even in parallel, so long as we respect the dependences. Our approach is independent of the means used to solve the subproblems, and enables the wider application of existing sparse approaches previously restricted to "separable" dataflow problems. Preliminary experiments applying our technique to flow-sensitive points-to analysis of C programs have achieved storage savings of 1.3-7.2x over existing methods.
Erik Ruf
POPL1
1996 Data Specialization
abstract
Given a repeated computation, part of whose input context remains invariant across all repetitions, program staging improves performance by separating the computation into two phases. An early phase executes only once, performing computations depending only on invariant inputs, while a late phase repeatedly performs the remainder of the work given the varying inputs and the results of the early computations.Common staging techniques based on dynamic compilation statically construct an early phase that dynamically generates object code customized for a particular input context. In effect, the results of the invariant computations are encoded as the compiled code for the late phase.This paper describes an alternative approach in which the results of early computations are encoded as a data structure, allowing both the early and late phases to be generated statically. By avoiding dynamic code manipulation, we give up some optimization opportunities in exchange for significantly lower dynamic space/time overhead and reduced implementation complexity.
Todd B. Knoblock, Erik Ruf
PLDI2
1995 Context-Insensitive Alias Analysis Reconsidered
abstract
Recent work on alias analysis in the presence of pointers has concentrated on context-sensitive interprocedural analyses, which treat multiple calls to a single procedure independently rather than constructing a single approximation to a procedure's effect on all of its callers. While context-sensitive modeling offers the potential for greater precision by considering only realizable call-return paths, its empirical benefits have yet to be measured.
Erik Ruf
PLDI1
1995 Specializing shaders
abstract
We have developed a system for interactive manipulation of shading parameters for three dimensional rendering.The system takes as input user-defined shaders, written in a subset of C, which are then specialized for interactive use.Since users typically experiment with different values of a single shader parameter while leaving the others constant, we can benefit by automatically generating a specialized shader that performs only those computations depending on the parameter being varied; all other values needed by the shader can be precomputed and cached.The specialized shaders are as much as 95 times faster than the original user defined shader.This dramatic improvement in speed makes it possible to interactively view parameter changes for relatively complex shading models, such as procedural solid texturing.
Brian K. Guenter, Todd B. Knoblock, Erik Ruf
SIGGRAPH3
1993 On the Specialization of Online Program Specializers
abstract
Abstract A common technique for improving the speed of program specialization is to specialize the program specializer itself on the program to be specialized, creating a custom program generator . Much research has been devoted to the problem of generating efficient program generators, which do not perform reductions at program generation time which could instead have been performed when the program generator was constructed. The conventional wisdom holds that only program specializers using binding-time approximations can be specialized into such efficient program generators. This paper argues that this is not the case, and demonstrates that the specialization of a nontrivial online program specializer similar to the original ‘naive MIX’ can indeed yield an efficient program generator. The key to our argument is that, while the use of binding-time information at program generator generation time is necessary for the construction of an efficient custom specializer, the use of explicit binding-time approximation techniques is not. This allows us to distinguish the problem at hand (i.e. the use of binding-time information during program generator generation) from particular solutions to that problem (i.e. offline specialization). We show that, given a careful choice of specializer data structures, and sufficiently powerful specialization techniques, binding-time information can be inferred and utilized without explicit approximations. This allows the construction of efficient, optimizing program generators from online program specializers.
Erik Ruf, Daniel Weise
J. Funct. Program.1
1992 Improving the Accuracy of Higher-Order Specialization using Control Flow Analysis
Erik Ruf, Daniel Weise
PEPM1
1991 Using Types to Avoid Redundant Specialization
abstract
article Free Access Share on Using types to avoid redundant specialization Authors: Erik Ruf Computer Systems Laboratory, Stanford University, Stanford, CA Computer Systems Laboratory, Stanford University, Stanford, CAView Profile , Daniel Weise Computer Systems Laboratory, Stanford University, Stanford, CA Computer Systems Laboratory, Stanford University, Stanford, CAView Profile Authors Info & Claims ACM SIGPLAN NoticesVolume 26Issue 9Sept. 1991 pp 321–333https://doi.org/10.1145/115866.115902Published:01 May 1991Publication History 16citation228DownloadsMetricsTotal Citations16Total Downloads228Last 12 Months22Last 6 weeks1 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Erik Ruf, Daniel Weise
PEPM1