EDBT 2026 Demo / reviewers in the wild / expert
Daniel von Dincklage
dblp:84/6727
· DBLP profile ↗
8ranked-venue papers
5as 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 · 8 · 5 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 |
Program analysis · 26% Compilers and program optimization · 17% Runtime systems and virtual machines · 16% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Performance modeling and evaluation · 91% Memory systems · 9% |
Topics — the 12 heaviest of 16, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › program transformation › program optimization
semantics-preserving optimization |
0.1 | 1 | 2009 | Optimizing programs with intended semantics · OOPSLA 2009 |
Debugging and program repair › fault localization
failure explanation |
0.1 | 1 | 2008 | Explaining failures of program analyses · PLDI 2008 |
Runtime systems and virtual machines › virtual machine implementation
java virtual machine |
0.1 | 1 | 2007 | Fast online pointer analysis · ACM Trans. Program. Lang. Syst. 2007 |
Program analysis › static analysis
pointer analysis |
0.1 | 1 | 2007 | Fast online pointer analysis · ACM Trans. Program. Lang. Syst. 2007 |
Program analysis
static analysis |
0.1 | 1 | 2007 | Fast online pointer analysis · ACM Trans. Program. Lang. Syst. 2007 |
Performance modeling and evaluation
benchmarking |
0.1 | 1 | 2006 | The DaCapo benchmarks: java benchmarking development and analysis · OOPSLA 2006 |
Performance modeling and evaluation › benchmarking › benchmark design
benchmark suite design |
0.1 | 1 | 2006 | The DaCapo benchmarks: java benchmarking development and analysis · OOPSLA 2006 |
Performance modeling and evaluation
workload characterization |
0.1 | 1 | 2006 | The DaCapo benchmarks: java benchmarking development and analysis · OOPSLA 2006 |
Programming languages and type systems › type systems › polymorphism
generics |
0.0 | 1 | 2004 | Converting Java classes to use generics · OOPSLA 2004 |
Software maintenance and evolution › software reengineering › software modernization › software migration
legacy system migration |
0.0 | 1 | 2004 | Converting Java classes to use generics · OOPSLA 2004 |
Programming languages and type systems › language semantics › formal semantics
object-oriented language semantics |
0.0 | 1 | 2009 | Optimizing programs with intended semantics · OOPSLA 2009 |
Software maintenance and evolution
program comprehension |
0.0 | 1 | 2008 | Explaining failures of program analyses · PLDI 2008 |
Methods — techniques the papers use, named apart from their topics
time-series metrics · 0.1statistical metrics · 0.1program analysis · 0.1andersen's pointer analysis · 0.1type inference · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2011 | Integrating program analyses with programmer productivity toolsabstractAbstract Because software continues to grow in size and complexity, programmers increasingly rely on productivity tools to understand, debug, and modify their programs. These tools typically use program analyses to produce information for the programmer. This is problematic because it is based on the assumption that the programmer and program analyses all use the same vocabulary. If the programmer and analyses did not use the same vocabulary then the results of the analyses will be meaningless to the programmer. For example, ‘v124 may be NULL’ does not mean much to the programmer but ‘myStack may be NULL’ is meaningful. Often, the programmer and analyses prefer different vocabularies. While the programmer prefers his programs' source code, an analysis will prefer a simplified representation. Unfortunately, writing an analysis that works on the source code is difficult because the analysis must deal with the idiosyncracies of the source language (e.g. nested classes). In comparison, writing an analysis on SSA form is easy but the output of the analysis is not meaningful to the programmer; it must somehow be translated into something the programmer understands. We present a system, RTalk, that makes it easy to support both the programmers' and the analysis' needs. RTalk generates a translator between the programmers' and the analysis' vocabulary. Thus both the programmer and the analysis can use the vocabulary most natural to them. We demonstrate the effectiveness of RTalk by describing program understanding and program optimization tools that we have already built using RTalk. Copyright © 2011 John Wiley & Sons, Ltd. Daniel von Dincklage, Amer Diwan |
Softw. Pract. Exp. | 1 |
| 2009 | Optimizing programs with intended semanticsabstractModern object-oriented languages have complex features that cause programmers to overspecify their programs. This overspecification hinders automatic optimizers, since they must preserve the overspecified semantics. If an optimizer knew which semantics the programmer intended, it could do a better job. Daniel von Dincklage, Amer Diwan |
OOPSLA | 1 |
| 2008 | Explaining failures of program analysesabstractWith programs getting larger and often more complex with each new release, programmers need all the help they can get in understanding and transforming programs. Fortunately, modern development environments, such as Eclipse, incorporate tools for understanding, navigating, and transforming programs. These tools typically use program analyses to extract relevant properties of programs. Daniel von Dincklage, Amer Diwan |
PLDI | 1 |
| 2007 | Fast online pointer analysisabstractPointer analysis benefits many useful clients, such as compiler optimizations and bug finding tools. Unfortunately, common programming language features such as dynamic loading, reflection, and foreign language interfaces, make pointer analysis difficult. This article describes how to deal with these features by performing pointer analysis online during program execution. For example, dynamic loading may load code that is not available for analysis before the program starts. Only an online analysis can analyze such code, and thus support clients that optimize or find bugs in it. This article identifies all problems in performing Andersen's pointer analysis for the full Java language, presents solutions to these problems, and uses a full implementation of the solutions in a Java virtual machine for validation and performance evaluation. Our analysis is fast: On average over our benchmark suite, if the analysis recomputes points-to results upon each program change, most analysis pauses take under 0.1 seconds, and add up to 64.5 seconds. Martin Hirzel, Daniel von Dincklage, Amer Diwan, Michael Hind |
ACM Trans. Program. Lang. Syst. | 2 |
| 2006 | The DaCapo benchmarks: java benchmarking development and analysisabstractSince benchmarks drive computer science research and industry product development, which ones we use and how we evaluate them are key questions for the community. Despite complex runtime tradeoffs due to dynamic compilation and garbage collection required for Java programs, many evaluations still use methodologies developed for C, C++, and Fortran. SPEC, the dominant purveyor of benchmarks, compounded this problem by institutionalizing these methodologies for their Java benchmark suite. This paper recommends benchmarking selection and evaluation methodologies, and introduces the DaCapo benchmarks, a set of open source, client-side Java benchmarks. We demonstrate that the complex interactions of (1) architecture, (2) compiler, (3) virtual machine, (4) memory management, and (5) application require more extensive evaluation than C, C++, and Fortran which stress (4) much less, and do not require (3). We use and introduce new value, time-series, and statistical metrics for static and dynamic properties such as code complexity, code size, heap composition, and pointer mutations. No benchmark suite is definitive, but these metrics show that DaCapo improves over SPEC Java in a variety of ways, including more complex code, richer object behaviors, and more demanding memory system requirements. This paper takes a step towards improving methodologies for choosing and evaluating benchmarks to foster innovation in system design and implementation for Java and other managed languages. Steve Blackburn, Robin Garner, Chris Hoffmann, Asjad M. Khan, Kathryn S. McKinley, Rotem Bentzur, Amer Diwan, Daniel Feinberg, Daniel Frampton, Samuel Z. Guyer, Martin Hirzel, Antony L. Hosking, Maria Jump, Han Bok Lee, J. Eliot B. Moss, Aashish Phansalkar, Darko Stefanovic, Thomas VanDrunen, Daniel von Dincklage, Ben Wiedermann |
OOPSLA | 19 |
| 2006 | Understanding the behavior of compiler optimizationsabstractAbstract Compiler optimizations are difficult to implement and add complexity to a compiler. For this reason, compiler writers are selective about implementing them: they implement only the ones that they believe will be beneficial. To support compiler writers in this, we describe a method for measuring the cost and benefits of compiler optimizations, both individually and in synergy with other optimizations. We demonstrate our method by presenting results for the optimizations implemented in the Jikes Research Virtual Machine on the PowerPC and IA32 platforms. Copyright © 2006 John Wiley & Sons, Ltd. Han Bok Lee, Daniel von Dincklage, Amer Diwan, J. Eliot B. Moss |
Softw. Pract. Exp. | 2 |
| 2004 | Converting Java classes to use genericsabstractGenerics offer significant software engineering benefits since they provide code reuse without compromising type safety. Thus generics will be added to the Java language in the next release. While this extension to Java will help programmers when they are writing new code, it will not help legacy code unless it is rewritten to use generics. In our experience, manually modifying existing programs to use generics is complex and can be error prone and labor intensive. Daniel von Dincklage, Amer Diwan |
OOPSLA | 1 |
| 2003 | Making Patterns Explicit with Metaprogramming
Daniel von Dincklage |
GPCE | 1 |