VLDB 2026 Research / reviewers in the wild / expert
Christopher Colby
dblp:64/204
· DBLP profile ↗
8ranked-venue papers
7as first author
0since 2021 · last 2020
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 6 · 6 first-authorTheory of computation · 2 · 2 first-authorDatabases, data management, data science and information retrieval · 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
4 papers |
Program verification · 49% Compilers and program optimization · 30% Program analysis · 11% | |
| Network and information security
2 papers |
Systems and software security · 100% |
Topics — the 13 heaviest of 14, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program verification
proof-carrying code |
0.1 | 2 | 2000 | A certifying compiler for Java · PLDI 2000 A Proof-Carrying Code Architecture for Java · CAV 2000 |
Compilers and program optimization
compiler correctness |
0.0 | 1 | 2000 | A certifying compiler for Java · PLDI 2000 |
Programming languages and type systems
type systems |
0.0 | 1 | 2000 | A Proof-Carrying Code Architecture for Java · CAV 2000 |
Compilers and program optimization
verified compilation |
0.0 | 1 | 2000 | A certifying compiler for Java · PLDI 2000 |
Program verification
environment generation |
0.0 | 1 | 1998 | Automatically Closing Open Reactive Programs · PLDI 1998 |
Program verification
model checking |
0.0 | 1 | 1998 | Automatically Closing Open Reactive Programs · PLDI 1998 |
Program verification
reactive system verification |
0.0 | 1 | 1998 | Automatically Closing Open Reactive Programs · PLDI 1998 |
Program verification › model checking
state space exploration |
0.0 | 1 | 1998 | Automatically Closing Open Reactive Programs · PLDI 1998 |
Program analysis › static analysis
pointer analysis |
0.0 | 1 | 1996 | Trace-Based Program Analysis · POPL 1996 |
Compilers and program optimization › instruction scheduling
software pipelining |
0.0 | 1 | 1996 | Trace-Based Program Analysis · POPL 1996 |
Program analysis › dynamic analysis
trace analysis |
0.0 | 1 | 1996 | Trace-Based Program Analysis · POPL 1996 |
Systems and software security
language-based security |
0.0 | 1 | 2000 | A Proof-Carrying Code Architecture for Java · CAV 2000 |
Systems and software security
memory safety |
0.0 | 1 | 2000 | A certifying compiler for Java · PLDI 2000 |
Methods — techniques the papers use, named apart from their topics
type inference · 0.1proof-carrying code · 0.1proof checking · 0.1program transformation · 0.0nondeterministic closure · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Demonstrating Principled Uncertainty Modeling for Recommender Ecosystems with RecSim NGabstractWe develop RecSim NG, a probabilistic platform that supports natural, concise specification and learning of models for multi-agent recommender systems simulation. RecSim NG is a scalable, modular, differentiable simulator implemented in Edward2 and TensorFlow. Martin Mladenov, Vihan Jain, Eugene Ie, Christopher Colby, Nicolas Mayoraz, Hubert Pham, Dustin Tran, Ivan Vendrov, Craig Boutilier |
RecSys | 5 |
| 2003 | Automated techniques for provably safe mobile code
Christopher Colby, Karl Crary, Robert Harper 0001, Peter Lee 0001, Frank Pfenning |
Theor. Comput. Sci. | 1 |
| 2000 | A Proof-Carrying Code Architecture for Java
Christopher Colby, Peter Lee 0001, George C. Necula |
CAV | 1 |
| 2000 | A certifying compiler for JavaabstractThis paper presents the initial results of a project to determine if the techniques of proof-carrying code and certifying compilers can be applied to programming languages of realistic size and complexity. The experiment shows that: (1) it is possible to implement a certifying native-code compiler for a large subset of the Java programming language; (2) the compiler is freely able to apply many standard local and global optimizations; and (3) the PCC binaries it produces are of reasonable size and can be rapidly checked for type safety by a small proof-checker. This paper also presents further evidence that PCC provides several advantages for compiler development. In particular, generating proofs of the target code helps to identify compiler bugs, many of which would have been dicult to discover by testing. Christopher Colby, Peter Lee 0001, George C. Necula, Fred Blau, Mark Plesko, Kenneth Cline |
PLDI | 1 |
| 1998 | Automatically Closing Open Reactive ProgramsabstractWe study in this paper the problem of analyzing implementations of open systems --- systems in which only some of the components are present. We present an algorithm for automatically closing an open concurrent reactive system with its most general environment, i.e., the environment that can provide any input at any time to the system. The result is a nondeterministic closed (i.e., self-executable) system which can exhibit all the possible reactive behaviors of the original open system. These behaviors can then be analyzed using VeriSoft, an existing tool for systematically exploring the state spaces of closed systems composed of multiple (possibly nondeterministic) processes executing arbitrary code. We have implemented the techniques introduced in this paper in a prototype tool for automatically closing open programs written in the C programming language. We discuss preliminary experimental results obtained with a large telephone-switching software application developed at Lucent Technologies. Christopher Colby, Patrice Godefroid, Lalita Jategaonkar Jagadeesan |
PLDI | 1 |
| 1996 | Trace-Based Program AnalysisabstractWe present trace-based program analysis, a semantics-based framework for statically analyzing and transforming programs with loops, assignments, and nested record structures. Trace-based analyses are based on transfer transition systems, which define the small-step operational semantics of programming languages. Intuitively, transfer transition systems provide direct support for reasoning about the possible execution traces of a program, instead of just individual program states. The traces in a transfer transition system have many uses, including the finite representation of all possible terminating executions of a loop. Also, traces may be systematically "pieced together," thus allowing the composition of separately analyzed program fragments. The utility of the approach is demonstrated by showing three applications: software pipelining, loop-invariant removal, and data alias detection. 1 Introduction In this paper, we consider semantics-based program analysis for the purposes of s... Christopher Colby, Peter Lee 0001 |
POPL | 1 |
| 1995 | Analyzing the Communication Topology of Concurrent ProgramsabstractConcurrent languages present complex problems for program analysis. Existing analyses are either imprecise, exponential, or apply only to languages with statically-allocated processes and channels. We present a new polynomial-time analysis using abstract interpretation that addresses the general problem of determining the communication topology of programs in a subset of Concurrent ML with arbitrary data structures, recursive higher-order functions, dynamic processor allocation, dynamic channel creation, and synchronous message-passing operations transmitand receive. The analysis addresses the following question: Which occurrences of transmit can match which occurrences of receive? The notion of occurrence is formalized as a control path in a small-step semantics, which provides a powerful basis for distinguishing recursive communication topologies. The analysis is relational, in that it relates pairs of processes, and non-uniform, in that it distinguishes between iterations in an i... Christopher Colby |
PEPM | 1 |
| 1995 | Determining Storage Properties of Sequential and Concurrent Programs with Assignment and Structured Data
Christopher Colby |
SAS | 1 |