Demo Data from VLDB 2026 / reviewers in the wild / expert
Stephen Adams 0001
dblp:02/3043-1
· DBLP profile ↗
4ranked-venue papers
1as first author
0since 2021 · last 2010
0000-0002-4725-2091ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 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.
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Parallel and multicore computing · 87% High-performance computing · 13% | |
| Software engineering, system software, and programming languages
2 papers |
Program analysis · 75% Debugging and program repair · 25% |
Topics — the 6 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing
data-parallel programming |
0.1 | 1 | 2010 | FlumeJava: easy, efficient data-parallel pipelines · PLDI 2010 |
Parallel and multicore computing
parallel programming models |
0.1 | 1 | 2010 | FlumeJava: easy, efficient data-parallel pipelines · PLDI 2010 |
Program analysis
static analysis |
0.1 | 2 | 2004 | PSE: explaining program failures via postmortem static analysis · SIGSOFT FSE 2004 Software validation via scalable path-sensitive value flow analysis · ISSTA 2004 |
Debugging and program repair
fault localization |
0.0 | 1 | 2004 | PSE: explaining program failures via postmortem static analysis · SIGSOFT FSE 2004 |
Program analysis › data flow analysis
value-flow analysis |
0.0 | 1 | 2004 | Software validation via scalable path-sensitive value flow analysis · ISSTA 2004 |
High-performance computing › data-intensive computing
large-scale data processing |
0.0 | 1 | 2010 | FlumeJava: easy, efficient data-parallel pipelines · PLDI 2010 |
Methods — techniques the papers use, named apart from their topics
mapreduce · 0.1dataflow graph optimization · 0.1symbolic evaluation · 0.0bit-vectorization · 0.0alias analysis · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2010 | FlumeJava: easy, efficient data-parallel pipelinesabstractMapReduce and similar systems significantly ease the task of writing data-parallel code. However, many real-world computations require a pipeline of MapReduces, and programming and managing such pipelines can be difficult. We present FlumeJava, a Java library that makes it easy to develop, test, and run efficient data-parallel pipelines. At the core of the FlumeJava library are a couple of classes that represent immutable parallel collections, each supporting a modest number of operations for processing them in parallel. Parallel collections and their operations present a simple, high-level, uniform abstraction over different data representations and execution strategies. To enable parallel operations to run efficiently, FlumeJava defers their evaluation, instead internally constructing an execution plan dataflow graph. When the final results of the parallel operations are eventually needed, FlumeJava first optimizes the execution plan, and then executes the optimized operations on appropriate underlying primitives (e.g., MapReduces). The combination of high-level abstractions for parallel data and computation, deferred evaluation and optimization, and efficient parallel primitives yields an easy-to-use system that approaches the efficiency of hand-optimized pipelines. FlumeJava is in active use by hundreds of pipeline developers within Google. Craig Chambers, Ashish Raniwala, Frances Perry, Stephen Adams 0001, Robert R. Henry 0001, Robert Bradshaw, Nathan Weizenbaum |
PLDI | 4 |
| 2004 | Software validation via scalable path-sensitive value flow analysisabstractIn this paper, we present a new algorithm for tracking the flow of values through a program. Our algorithm represents a substantial improvement over the state of the art. Previously described value flow analyses that are control-flow sensitive do not scale well, nor do they eliminate value flow information from infeasible execution paths (i.e., they are path-insensitive). Our algorithm scales to large programs, and it is path-sensitive.The efficiency of our algorithm arises from three insights: The value flow problem can be "bit-vectorized" by tracking the flow of one value at a time; dataflow facts from different execution paths with the same value flow information can be merged; and information about complex aliasing that affects value flow can be plugged in from a different analysis.We have incorporated our analysis in ESP, a software validation tool. We have used ESP to validate the Windows operating system kernel (a million lines of code) against an important security property. This experience suggests that our algorithm scales to large programs, and is accurate enough to trace the flow of values in real code. Nurit Dor, Stephen Adams 0001, Manuvir Das, Zhe Yang 0001 |
ISSTA | 2 |
| 2004 | PSE: explaining program failures via postmortem static analysisabstractIn this paper, we describe PSE (Postmortem Symbolic Evaluation), a static analysis algorithm that can be used by programmers to diagnose software failures. The algorithm requires minimal information about a failure, namely its kind (e.g. NULL dereference), and its location in the program's source code. It produces a set of execution traces along which the program can be driven to the given failure. Roman Manevich, Manu Sridharan, Stephen Adams 0001, Manuvir Das, Zhe Yang 0001 |
SIGSOFT FSE | 3 |
| 2002 | Speeding Up Dataflow Analysis Using Flow-Insensitive Pointer Analysis
Stephen Adams 0001, Thomas Ball 0001, Manuvir Das, Sorin Lerner, Sriram K. Rajamani, Mark Seigle, Westley Weimer |
SAS | 1 |