VLDB 2026 Research / reviewers in the wild / expert
Robert O'Callahan
dblp:51/623
· DBLP profile ↗
7ranked-venue papers
4as first author
0since 2021 · last 2017
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 2 first-authorSystems, architecture and hardware · 2 · 2 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
6 papers |
Debugging and program repair · 43% Program analysis · 32% Concurrent programming · 14% |
Topics — the 10 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Debugging and program repair
record and replay |
0.3 | 1 | 2017 | Engineering Record and Replay for Deployability · USENIX ATC 2017 |
Program analysis
dynamic analysis |
0.1 | 4 | 2005 | Relational queries over program traces · OOPSLA 2005 Object equality profiling · OOPSLA 2003 Efficient and Precise Datarace Detection for Multithreaded Object-Oriented Programs · PLDI 2002 |
Concurrent programming › concurrency bug detection
data race detection |
0.1 | 2 | 2003 | Hybrid dynamic data race detection · PPoPP 2003 Efficient and Precise Datarace Detection for Multithreaded Object-Oriented Programs · PLDI 2002 |
Program analysis › dynamic analysis
instrumentation |
0.1 | 1 | 2005 | Relational queries over program traces · OOPSLA 2005 |
Debugging and program repair › performance debugging
performance bug detection |
0.1 | 1 | 2005 | Relational queries over program traces · OOPSLA 2005 |
Program analysis › dynamic analysis
program tracing |
0.1 | 1 | 2005 | Relational queries over program traces · OOPSLA 2005 |
Operating systems › resource management
memory management |
0.0 | 1 | 2003 | Object equality profiling · OOPSLA 2003 |
Concurrent programming › concurrency bug detection › data race detection
dynamic race detection |
0.0 | 1 | 2002 | Efficient and Precise Datarace Detection for Multithreaded Object-Oriented Programs · PLDI 2002 |
Software maintenance and evolution
program comprehension |
0.0 | 1 | 1997 | Lackwit: A Program Understanding Tool Based on Type Inference · ICSE 1997 |
Programming languages and type systems
type inference |
0.0 | 1 | 1997 | Lackwit: A Program Understanding Tool Based on Type Inference · ICSE 1997 |
Methods — techniques the papers use, named apart from their topics
dynamic analysis · 0.1relational queries · 0.1lockset analysis · 0.0happens-before analysis · 0.0equivalence class partitioning · 0.0static analysis · 0.0type inference · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | Engineering Record and Replay for Deployability
Robert O'Callahan, Nathan Froyd, Kyle Huey, Albert Noll, Nimrod Partush |
USENIX ATC | 1 |
| 2012 | Why is your web browser using so much memory?abstractBrowsers are the operating systems of the Web. They support a vast universe of applications written in a modern garbage-collected programming language. Browsers expose a rich platform API mostly implemented in C++. Browsers are also consumer software with low switching costs in an intensely competitive market. Thus in addition to standard requirements such as maximizing throughput and minimizing latency, browsers have to consider issues like-when the user closes a window while watching Task Manager, they want to see memory usage go down. Browsers have to compete to minimize memory usage even for poorly written applications. In this talk I will elucidate these requirements and describe how Firefox and other browsers address them. I will pay particular attention to issues that we don't know how to solve, and that could benefit from research attention. Robert O'Callahan |
ISMM | 1 |
| 2005 | Relational queries over program tracesabstractInstrumenting programs with code to monitor runtime behavior is a common technique for profiling and debugging. In practice, instrumentation is either inserted manually by programmers, or automatically by specialized tools that monitor particular properties. We propose Program Trace Query Language (PTQL), a language based on relational queries over program traces, in which programmers can write expressive, declarative queries about program behavior. We also describe our compiler, Partiqle. Given a PTQL query and a Java program, Partiqle instruments the program to execute the query on-line. We apply several PTQL queries to a set of benchmark programs, including the Apache Tomcat Web server. Our queries reveal significant performance bugs in the jack SpecJVM98 benchmark, in Tomcat, and in the IBM Java class library, as well as some correct though uncomfortably subtle code in the Xerces XML parser. We present performance measurements demonstrating that our prototype system has usable performance. Simon Goldsmith, Robert O'Callahan, Alex Aiken |
OOPSLA | 2 |
| 2003 | Object equality profilingabstractWe present Object Equality Profiling (OEP), a new technique for helping programmers discover optimization opportunities in programs. OEP discovers opportunities for replacing a set of equivalent object instances with a single representative object. Such a set represents an opportunity for automatically or manually applying optimizations such as hash consing, heap compression, lazy allocation, object caching, invariant hoisting, and more. To evaluate OEP, we implemented a tool to help programmers reduce the memory usage of Java programs. Our tool performs a dynamic analysis that records all the objects created during a particular program run. The tool partitions the objects into equivalence classes, and uses collected timing information to determine when elements of an equivalence class could have been safely collapsed into a single representative object without affecting the behavior of that program run. We report the results of applying this tool to benchmarks, including two widely used Web application servers. Many benchmarks exhibit significant amounts of object equivalence, and in most benchmarks our profiler identifies optimization opportunities clustered around a small number of allocation sites. We present a case study of using our profiler to find simple manual optimizations that reduce the average space used by live objects in two SpecJVM benchmarks by 47% and 38% respectively. Darko Marinov, Robert O'Callahan |
OOPSLA | 2 |
| 2003 | Hybrid dynamic data race detectionabstractWe present a new method for dynamically detecting potential data races in multithreaded programs. Our method improves on the state of the art in accuracy, in usability, and in overhead. We improve accuracy by combining previously known race detection techniques -- lockset-based detection and happens-before-based detection -- to obtain fewer false positives than lockset-based detection alone. We enhance usability by reporting more information about detected races than any previous dynamic detector. We reduce overhead compared to previous detectors -- particularly for large applications such as Web application servers -- by not relying on happens-before detection alone, by introducing a new optimization to discard redundant information, and by using a two phase approach to identify error-prone program points and then focus instrumentation on those points. We justify our claims by presenting the results of applying our tool to a range of Java programs, including the widely-used Web application servers Resin and Apache Tomcat. Our paper also presents a formalization of locksetbased and happens-before-based approaches in a common framework, allowing us to prove a folk theorem that happens-before detection reports fewer false positives than lockset-based detection (but can report more false negatives), and to prove that key optimizations are correct. Robert O'Callahan, Jong-Deok Choi |
PPoPP | 1 |
| 2002 | Efficient and Precise Datarace Detection for Multithreaded Object-Oriented ProgramsabstractWe present a novel approach to dynamic datarace detection for multithreaded object-oriented programs. Past techniques for on-the-fly datarace detection either sacrificed precision for performance, leading to many false positive datarace reports, or maintained precision but incurred significant overheads in the range of 3x to 30x. In contrast, our approach results in very few false positives and runtime overhead in the 13% to 42% range, making it both efficient and precise. This performance improvement is the result of a unique combination of complementary static and dynamic optimization techniques. Jong-Deok Choi, Keunwoo Lee, Alexey Loginov, Robert O'Callahan, Vivek Sarkar, Manu Sridharan |
PLDI | 4 |
| 1997 | Lackwit: A Program Understanding Tool Based on Type InferenceabstractNo abstract available. Robert O'Callahan, Daniel Jackson 0001 |
ICSE | 1 |