Demo Data from VLDB 2026 / reviewers in the wild / expert
Gene Novark
dblp:65/666
· DBLP profile ↗
5ranked-venue papers
3as 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 · 4 · 2 first-authorSystems, architecture and hardware · 1Security and privacy · 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
4 papers |
Concurrent programming · 32% Program analysis · 32% Programming languages and type systems · 16% | |
| Network and information security
3 papers |
Systems and software security · 100% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Distributed systems · 50% Hardware reliability and fault tolerance · 50% |
Topics — the 13 heaviest of 14, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Systems and software security
memory safety |
0.3 | 3 | 2010 | DieHarder: securing the heap · CCS 2010 Archipelago: trading address space for reliability and security · ASPLOS 2008 Exterminator: automatically correcting memory errors with high probability · PLDI 2007 |
Systems and software security
exploitation |
0.1 | 1 | 2010 | DieHarder: securing the heap · CCS 2010 |
Systems and software security › memory safety
heap security |
0.1 | 1 | 2010 | DieHarder: securing the heap · CCS 2010 |
Concurrent programming
concurrency bugs |
0.1 | 1 | 2009 | Grace: safe multithreaded programming for C/C++ · OOPSLA 2009 |
Program analysis
dynamic analysis |
0.1 | 1 | 2009 | Efficiently and precisely locating memory leaks and bloat · PLDI 2009 |
Program analysis › error detection
memory leak detection |
0.1 | 1 | 2009 | Efficiently and precisely locating memory leaks and bloat · PLDI 2009 |
Concurrent programming › concurrency bug detection
race and deadlock detection |
0.1 | 1 | 2009 | Grace: safe multithreaded programming for C/C++ · OOPSLA 2009 |
Distributed systems
fault tolerance |
0.1 | 1 | 2008 | Archipelago: trading address space for reliability and security · ASPLOS 2008 |
Hardware reliability and fault tolerance
memory fault tolerance |
0.1 | 1 | 2008 | Archipelago: trading address space for reliability and security · ASPLOS 2008 |
Systems and software security › memory safety
buffer overflow |
0.1 | 1 | 2007 | Exterminator: automatically correcting memory errors with high probability · PLDI 2007 |
Debugging and program repair
automated program repair |
0.1 | 1 | 2007 | Exterminator: automatically correcting memory errors with high probability · PLDI 2007 |
Operating systems › system security › operating system security › protection mechanism
address space layout randomization |
0.0 | 1 | 2008 | Archipelago: trading address space for reliability and security · ASPLOS 2008 |
Operating systems › resource management › memory management
virtual memory |
0.0 | 1 | 2008 | Archipelago: trading address space for reliability and security · ASPLOS 2008 |
Methods — techniques the papers use, named apart from their topics
address space trading · 0.2probabilistic correction · 0.1formal treatment · 0.1allocator design analysis · 0.1runtime monitoring · 0.1garbage collection · 0.1code sampling · 0.1binary rewriting · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2010 | DieHarder: securing the heapabstractHeap-based attacks depend on a combination of memory management error and an exploitable memory allocator. Many allocators include ad hoc countermeasures against particular exploits but their effectiveness against future exploits has been uncertain. This paper presents the first formal treatment of the impact of allocator design on security. It analyzes a range of widely-deployed memory allocators, including those used by Windows, Linux, FreeBSD and OpenBSD, and shows that they remain vulnerable to attack. It them presents DieHarder, a new allocator whose design was guided by this analysis. DieHarder provides the highest degree of security from heap-based attacks of any practical allocator of which we are aware while imposing modest performance overhead. In particular, the Firefox web browser runs as fast with DieHarder as with the Linux allocator. Gene Novark, Emery D. Berger |
CCS | 1 |
| 2009 | Grace: safe multithreaded programming for C/C++abstractThe shift from single to multiple core architectures means that programmers must write concurrent, multithreaded programs in order to increase application performance. Unfortunately, multithreaded applications are susceptible to numerous errors, including deadlocks, race conditions, atomicity violations, and order violations. These errors are notoriously difficult for programmers to debug. Emery D. Berger, Tongping Liu, Gene Novark |
OOPSLA | 4 |
| 2009 | Efficiently and precisely locating memory leaks and bloatabstractInefficient use of memory, including leaks and bloat, remain a significant challenge for C and C++ developers. Applications with these problems become slower over time as their working set grows and can become unresponsive. At the same time, memory leaks and bloat remain notoriously difficult to debug, and comprise a large number of reported bugs in mature applications. Previous tools for diagnosing memory inefficiencies-based on garbage collection, binary rewriting, or code sampling-impose high overheads (up to 100X) or generate many false alarms. Gene Novark, Emery D. Berger, Benjamin G. Zorn |
PLDI | 1 |
| 2008 | Archipelago: trading address space for reliability and securityabstractMemory errors are a notorious source of security vulnerabilities that can lead to service interruptions, information leakage and unauthorized access. Because such errors are also difficult to debug, the absence of timely patches can leave users vulnerable to attack for long periods of time. A variety of approaches have been introduced to combat these errors, but these often incur large runtime overheads and generally abort on errors, threatening availability. Vitaliy B. Lvin, Gene Novark, Emery D. Berger, Benjamin G. Zorn |
ASPLOS | 2 |
| 2007 | Exterminator: automatically correcting memory errors with high probabilityabstractPrograms written in C and C++ are susceptible to memory errors, including buffer overflows and dangling pointers. These errors, whichcan lead to crashes, erroneous execution, and security vulnerabilities, are notoriously costly to repair. Tracking down their location in the source code is difficult, even when the full memory state of the program is available. Once the errors are finally found, fixing them remains challenging: even for critical security-sensitive bugs, the average time between initial reports and the issuance of a patch is nearly one month. Gene Novark, Emery D. Berger, Benjamin G. Zorn |
PLDI | 1 |