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.

Oliver Rüthing

dblp:00/229 · DBLP profile ↗
← Back
16ranked-venue papers
4as first author
0since 2021 · last 2011
—ORCID · none

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

Software engineering, systems software and programming languages · 16 · 4 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
5 papers
Compilers and program optimization · 91% Program analysis · 9%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Embedded and real-time systems · 100%

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

TopicWeightPapersLastEvidence papers
Compilers and program optimization
code motion
0.142000
Sparse Code Motion · POPL 2000
The Power of Assignment Motion · PLDI 1995
Optimal Code Motion: Theory and Practice · ACM Trans. Program. Lang. Syst. 1994
Compilers and program optimization › compiler optimization › redundancy elimination
partial redundancy elimination
0.022000
Sparse Code Motion · POPL 2000
The Power of Assignment Motion · PLDI 1995
Compilers and program optimization
code size reduction
0.012000
Sparse Code Motion · POPL 2000
Compilers and program optimization › code motion
lazy code motion
0.021994
Optimal Code Motion: Theory and Practice · ACM Trans. Program. Lang. Syst. 1994
Lazy Code Motion · PLDI 1992
Compilers and program optimization
dead code elimination
0.011994
Partial Dead Code Elimination · PLDI 1994
Compilers and program optimization › dead code elimination
partial dead code elimination
0.011994
Partial Dead Code Elimination · PLDI 1994
Program analysis › data flow analysis
bit-vector analysis
0.011992
Lazy Code Motion · PLDI 1992
Program analysis
data flow analysis
0.011992
Lazy Code Motion · PLDI 1992

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

dataflow analysis · 0.0data flow analysis · 0.0bitvector dataflow analysis · 0.0
YearPublicationVenuePosition
2011 Quality Engineering: Leveraging Heterogeneous Information - (Invited Talk)
Bernhard Steffen, Oliver Rüthing
VMCAI2
2005 Checking Herbrand Equalities and Beyond
Markus Müller-Olm, Oliver Rüthing, Helmut Seidl
VMCAI2
2001 On the Complexity of Constant Propagation
Markus Müller-Olm, Oliver Rüthing
ESOP2
2001 Code motion in the presence of critical edges without bidirectional data flow analysis
Oliver Rüthing
Sci. Comput. Program.1
2000 Constant Propagation on the Value Graph: Simple Constants and Beyond
Jens Knoop, Oliver Rüthing
CC2
2000 Sparse Code Motion
abstract
In this article, we add a third dimension to partial redundancy elimination by considering code size as a further optimization goal in addition to the more classical consideration of computation costs and register pressure. This results in a family of sparse code motion algorithms coming as modular extensions of the algorithms for busy and lazy code motion. Each of them optimally captures a predefined choice of priority between these three optimization goals, e.g. code size can be minimized while (1) guaranteeing at least the performance of the argument program, or (2) even computational optimality. Each of them can further be refined to simultaneously reduce the lifetimes of temporaries to a minimum. These algorithms are well-suited for size-critical application areas like smart cards and embedded systems, as they provide a handle to control the code replication problem of classical code motion techniques. In fact, we believe that our systematic, priority-based treatment of trade-offs between optimization goals may substantially decrease development costs of size-critical applications: users may “play” with the priorities until the algorithm automatically delivers a satisfactory solution.
Oliver Rüthing, Jens Knoop, Bernhard Steffen
POPL1
1999 Expansion-Based Removal of Semantic Partial Redundancies
Jens Knoop, Oliver Rüthing, Bernhard Steffen
CC2
1999 Detecting Equalities of Variables: Combining Efficiency with Precision
Oliver Rüthing, Jens Knoop, Bernhard Steffen
SAS1
1998 Code Motion and Code Placement: Just Synonyms?
Jens Knoop, Oliver Rüthing, Bernhard Steffen
ESOP2
1998 Bidirectional Data Flow Analysis in Code Motion: Myth and Reality
Oliver Rüthing
SAS1
1996 Non-monotone Fixpoint Iterations to Resolve Second Order Effects
Alfons Geser, Jens Knoop, Gerald Lüttgen, Oliver Rüthing, Bernhard Steffen
CC4
1995 The Power of Assignment Motion
abstract
Assignment motion (AM) and expression motion (EM) are the basis of powerful and at the first sight incomparable techniques for removing partially redundant code from a program. Whereas AM aims at the elimination of complete assignments, a transformation which is always desirable, the more flexible EM requires temporaries to remove partial redundancies. Based on the observation that a simple program transformation enhances AM to subsume EM, we develop an algorithm that for the first time captures all second order effects between AM and EM transformations. Under usual structural restrictions, the worst case time complexity of our algorithm is essentially quadratic, a fact which explains the promising experience with our implementation. Topics: data flow analysis, program optimization, partially redundant assignment and expression elimination, code motion, assignment motion, bit-vector data flow analyses. 1 Motivation A major source for improving the runtime efficiency of a program is...
Jens Knoop, Oliver Rüthing, Bernhard Steffen
PLDI2
1994 Partial Dead Code Elimination
abstract
A new aggressive algorithm for the elimination of partially dead code is presented, i.e., of code which is only dead on some program paths. Besides being more powerful than the usual approaches to dead code elimination, this algorithm is optimal in the following sense: partially dead code remaining in the resulting program cannot be eliminated without changing the branching structure or the semantics of the program, or without impairing some program executions.
Jens Knoop, Oliver Rüthing, Bernhard Steffen
PLDI2
1994 Optimal Code Motion: Theory and Practice
abstract
An implementation-oriented algorithm for lazy code motion is presented that minimizes the number of computations in programs while suppressing any unnecessary code motion in order to avoid superfluous register pressure. In particular, this variant of the original algorithm for lazy code motion works on flowgraphs whose nodes are basic blocks rather than single statements, since this format is standard in optimizing compilers. The theoretical foundations of the modified algorithm are given in the first part, where t -refined flowgraphs are introduced for simplifying the treatment of flow graphs whose nodes are basic blocks. The second part presents the “basic block” algorithm in standard notation and gives directions for its implementation in standard compiler environments.
Jens Knoop, Oliver Rüthing, Bernhard Steffen
ACM Trans. Program. Lang. Syst.2
1992 Lazy Code Motion
abstract
We present a bit-vector algorithm for the optimal and economical placement of computations within flow graphs, which is as efficient as standard uni-directional analyses. The point of our algorithm is the decomposition of the bi-directional structure of the known placement algorithms into a sequence of a backward and a forward analysis, which directly implies the efficiency result. Moreover, the new compositional structure opens the algorithm for modification: two further uni-directional analysis components exclude any unnecessary code motion. This laziness of our algorithm minimizes the register pressure, which has drastic effects on the run-time behaviour of the optimized programs in practice, where an economical use of registers is essential.
Jens Knoop, Oliver Rüthing, Bernhard Steffen
PLDI2
1990 The Value Flow Graph: A Program Representation for Optimal Program Transformations
Bernhard Steffen, Jens Knoop, Oliver Rüthing
ESOP3