Demo Data from EDBT 2026 / reviewers in the wild / expert
David L. Heine
dblp:57/2646
· DBLP profile ↗
3ranked-venue papers
2as first author
0since 2021 · last 2006
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2 · 2 first-authorSystems, architecture and hardware · 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
2 papers |
Program analysis · 70% Programming languages and type systems · 30% |
Topics — the 5 heaviest of 5, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis › error detection
memory leak detection |
0.1 | 2 | 2006 | Static detection of leaks in polymorphic containers · ICSE 2006 A practical flow-sensitive and context-sensitive C and C++ memory leak detector · PLDI 2003 |
Program analysis
static analysis |
0.1 | 1 | 2006 | Static detection of leaks in polymorphic containers · ICSE 2006 |
Programming languages and type systems › type systems
ownership types |
0.1 | 2 | 2006 | A practical flow-sensitive and context-sensitive C and C++ memory leak detector · PLDI 2003 Static detection of leaks in polymorphic containers · ICSE 2006 |
Program analysis › static analysis
pointer analysis |
0.0 | 1 | 2003 | A practical flow-sensitive and context-sensitive C and C++ memory leak detector · PLDI 2003 |
Programming languages and type systems
type systems |
0.0 | 2 | 2006 | Static detection of leaks in polymorphic containers · ICSE 2006 A practical flow-sensitive and context-sensitive C and C++ memory leak detector · PLDI 2003 |
Methods — techniques the papers use, named apart from their topics
flow-sensitive analysis · 0.1context-sensitive analysis · 0.1ownership type system · 0.1type system · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2006 | Static detection of leaks in polymorphic containersabstractThis paper presents the first practical static analysis tool that can find memory leaks and double deletions of objects held in polymorphic containers. This is especially important since most dynamically allocated objects are stored in containers.The tool is based on the concept of object ownership: every object has one and only one owning pointer. The owning pointer holds the exclusive right and obligation to either delete the object or to transfer the obligation. This paper presents a new type system that allows different instances of a polymorphic container to hold different types of elements, and to independently own or not own their elements.Our tool is sound: it will report all potential memory leaks and multiple deletions of pointers in a program. Our system automatically identifies the container implementation routines in an application. The user provides a short specification on the container structure and ownership constraints for these routines. The system then solves for the ownership constraints flow- and context-sensitively, and reports inconsistencies in ownership constraints as potential memory leaks and double deletions.We applied our tool to a suite of five large open-source and commercial C and C++ applications totaling one million lines of code. The tool successfully identified memory leaks in these programs and found double deletions of objects that could lead to program failures or security vulnerabilities. David L. Heine, Monica S. Lam |
ICSE | 1 |
| 2003 | A practical flow-sensitive and context-sensitive C and C++ memory leak detectorabstractThis paper presents a static analysis tool that can automatically find memory leaks and deletions of dangling pointers in large C and C++ applications.We have developed a type system to formalize a practical ownership model of memory management. In this model, every object is pointed to by one and only one owning pointer, which holds the exclusive right and obligation to either delete the object or to transfer the right to another owning pointer. In addition, a pointer-typed class member field is required to either always or never own its pointee at public method boundaries. Programs satisfying this model do not leak memory or delete the same object more than once.We have also developed a flow-sensitive and context-sensitive algorithm to automatically infer the likely ownership interfaces of methods in a program. It identifies statements inconsistent with the model as sources of potential leaks or double deletes. The algorithm is sound with respect to a large subset of the C and C++ language in that it will report all possible errors. It is also practical and useful as it identifies those warnings likely to correspond to errors and helps the user understand the reported errors by showing them the assumed method interfaces.Our techniques are validated with an implementation of a tool we call Clouseau. We applied Clouseau to a suite of applications: two web servers, a chat client, secure shell tools, executable object manipulation tools, and a compiler. The tool found a total of 134 serious memory errors in these applications. The tool analyzes over 50K lines of C++ code in about 9 minutes on a 2 GHz Pentium 4 machine and over 70K lines of C code in just over a minute. David L. Heine, Monica S. Lam |
PLDI | 1 |
| 1990 | Implementation of Neural Network Algorithms on the P3 Parallel Associative Processor
Konstantinos I. Diamantaras, David L. Heine, Isaac D. Scherson |
ICPP (1) | 2 |