EDBT 2026 Demo / reviewers in the wild / expert
Doug Kimelman
dblp:92/6514
· DBLP profile ↗
8ranked-venue papers
2as first author
0since 2021 · last 2010
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 6 · 1 first-authorSystems, architecture and hardware · 1Human-computer interaction and ubiquitous computing · 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
5 papers |
Requirements engineering and software design · 63% Programming languages and type systems · 12% Program verification · 12% | |
| Theoretical computer science
1 paper |
Algorithms and data structures · 100% |
Topics — the 10 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Requirements engineering and software design › model-driven engineering › model management
diagram matching |
0.2 | 2 | 2010 | Bayesian Approaches to Matching Architectural Diagrams · IEEE Trans. Software Eng. 2010 A Bayesian approach to diagram matching with application to architectural models · ICSE 2006 |
Requirements engineering and software design
model-driven engineering |
0.2 | 2 | 2010 | Bayesian Approaches to Matching Architectural Diagrams · IEEE Trans. Software Eng. 2010 A Bayesian approach to diagram matching with application to architectural models · ICSE 2006 |
Requirements engineering and software design
software architecture |
0.2 | 2 | 2010 | Bayesian Approaches to Matching Architectural Diagrams · IEEE Trans. Software Eng. 2010 A Bayesian approach to diagram matching with application to architectural models · ICSE 2006 |
Programming languages and type systems
program specification |
0.1 | 1 | 2010 | Programming with angelic nondeterminism · POPL 2010 |
Program verification › refinement
refinement calculus |
0.1 | 1 | 2010 | Programming with angelic nondeterminism · POPL 2010 |
Requirements engineering and software design › software architecture › architecture description
architectural modeling |
0.1 | 1 | 2006 | A Bayesian approach to diagram matching with application to architectural models · ICSE 2006 |
Software maintenance and evolution
code reuse |
0.1 | 1 | 2005 | Jungloid mining: helping to navigate the API jungle · PLDI 2005 |
Algorithms and data structures › search algorithms
backtracking |
0.0 | 1 | 2010 | Programming with angelic nondeterminism · POPL 2010 |
Software maintenance and evolution › program comprehension
software visualization |
0.0 | 1 | 1993 | Visualizing the Behavior of Object-Oriented Systems · OOPSLA 1993 |
Software maintenance and evolution
program comprehension |
0.0 | 1 | 1993 | Visualizing the Behavior of Object-Oriented Systems · OOPSLA 1993 |
Methods — techniques the papers use, named apart from their topics
refinement calculus · 0.2search algorithm · 0.2graph matching · 0.2bayesian methods · 0.2type-based query inference · 0.1mining software repositories · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2010 | Programming with angelic nondeterminismabstractAngelic nondeterminism can play an important role in program development. It simplifies specifications, for example in deriving programs with a refinement calculus; it is the formal basis of regular expressions; and Floyd relied on it to concisely express backtracking algorithms such as N-queens. Rastislav Bodík, Satish Chandra 0001, Joel Galenson, Doug Kimelman, Nicholas Tung, Shaon Barman, Casey Rodarmor |
POPL | 4 |
| 2010 | Bayesian Approaches to Matching Architectural DiagramsabstractIT system architectures and many other kinds of structured artifacts are often described by formal models or informal diagrams. In practice, there are often a number of versions of a model or diagram, such as a series of revisions, divergent variants, or multiple views of a system. Understanding how versions correspond or differ is crucial, and thus, automated assistance for matching models and diagrams is essential. We have designed a framework for finding these correspondences automatically based on Bayesian methods. We represent models and diagrams as graphs whose nodes have attributes such as name, type, connections to other nodes, and containment relations, and we have developed probabilistic models for rating the quality of candidate correspondences based on various features of the nodes in the graphs. Given the probabilistic models, we can find high-quality correspondences using search algorithms. Preliminary experiments focusing on architectural models suggest that the technique is promising. Doug Kimelman, Marsha Kimelman, David Mandelin, Daniel M. Yellin |
IEEE Trans. Software Eng. | 1 |
| 2006 | A Bayesian approach to diagram matching with application to architectural modelsabstractIT system architectures, as well as other systems, are often described by formal models or informal diagrams. In practice, there are often a number of versions of a model, e.g. for different views of a system, divergent variants, or a series of revisions. Understanding how versions of a model correspond or differ is crucial, yet little work has been done on automated assistance for matching models and diagrams.We have designed a framework based on Bayesian methods for finding these correspondences automatically. We represent models and diagrams as graphs whose nodes have attributes such as name, type, connections, and containment relations, and we have developed probabilistic models for rating the quality of candidate correspondences based on various features of the nodes in the graphs. Given the probabilistic models, we can find high quality correspondences using search algorithms. Preliminary experiments focusing on architectural models suggest that the technique is promising. David Mandelin, Doug Kimelman, Daniel M. Yellin |
ICSE | 2 |
| 2005 | Jungloid mining: helping to navigate the API jungleabstractReuse of existing code from class libraries and frameworks is often difficult because APIs are complex and the client code required to use the APIs can be hard to write. We observed that a common scenario is that the programmer knows what type of object he needs, but does not know how to write the code to get the object.In order to help programmers write API client code more easily, we developed techniques for synthesizing jungloid code fragments automatically given a simple query that describes that desired code in terms of input and output types. A jungloid is simply a unary expression; jungloids are simple, enabling synthesis, but are also versatile, covering many coding problems, and composable, combining to form more complex code fragments. We synthesize jungloids using both API method signatures and jungloids mined from a corpus of sample client programs.We implemented a tool, prospector, based on these techniques. prospector is integrated with the Eclipse IDE code assistance feature, and it infers queries from context so there is no need for the programmer to write queries. We tested prospector on a set of real programming problems involving APIs; prospector found the desired solution for 18 of 20 problems. We also evaluated prospector in a user study, finding that programmers solved programming problems more quickly and with more reuse when using prospector than without prospector. David Mandelin, Rastislav Bodík, Doug Kimelman |
PLDI | 4 |
| 1994 | Modeling Object-Oriented Program Execution
Wim De Pauw, Doug Kimelman, John M. Vlissides |
ECOOP | 2 |
| 1994 | Strata-Various: Multi-Layer Visualization of Dynamics in Software System BehaviorabstractCurrent software visualization tools are inadequate for understanding, debugging, and tuning realistically complex applications. These tools often present only static structure, or they present dynamics from only a few of the many layers of a program and its underlying system. This paper introduces "PV", a prototype program visualization system which provides concurrent visual presentation of behavior from all layers, including: the program itself, user-level libraries, the operating system, and the hardware, as this behavior unfolds over time. PV juxtaposes views from different layers in order to facilitate visual correlation, and allows these views to be navigated in a coordinated fashion. This results in an extremely powerful mechanism for exploring application behavior. Experience is presented from actual use of PV in production settings with programmers facing real deadlines and serious performance problems.> Doug Kimelman, Bryan S. Rosenburg, Tova Roth |
IEEE Visualization | 1 |
| 1993 | Visualizing the Behavior of Object-Oriented SystemsabstractNumerous classes, complex inheritance and containment hierarchies, and diverse patterns of dynamic interaction all contribute to difficulties in understanding, reusing, debugging, and tuning large object-oriented systems. To help overcome these difficulties, we introduce novel views of the behavior of object-oriented systems and an architecture for creating and animating these views. We describe platform-independent techniques for instrumenting object-oriented programs, a language-independent protocol for monitoring their execution, and a structure for decoupling the execution of a subject program from its visualization. Case studies involving tuning and debugging of real systems are presented to demonstrate the benefits of visualization. We believe that visualization will prove to be a valuable tool for object-oriented software development. Wim De Pauw, Richard Helm, Doug Kimelman, John M. Vlissides |
OOPSLA | 3 |
| 1993 | A Methodology for Visualizing Performance of Loosely Synchronous Programs
Sekhar R. Sarukkai, Doug Kimelman, Larry Rudolph |
J. Parallel Distributed Comput. | 2 |