EDBT 2026 Demo / reviewers in the wild / expert
Jeffrey Bosboom
dblp:151/5439
· DBLP profile ↗
6ranked-venue papers
1as first author
0since 2021 · last 2020
0000-0002-8526-4085ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 1 first-authorSystems, architecture and hardware · 2Theory of computation · 2
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 |
Distributed systems · 56% Embedded and real-time systems · 28% Cloud and datacenter computing · 17% | |
| Software engineering, system software, and programming languages
2 papers |
Programming languages and type systems · 42% Program analysis · 21% Compilers and program optimization · 18% |
Topics — the 10 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Distributed systems
live reconfiguration |
0.3 | 1 | 2018 | Gloss: Seamless Live Reconfiguration and Reoptimization of Stream Programs · ASPLOS 2018 |
Distributed systems
stream processing |
0.3 | 1 | 2018 | Gloss: Seamless Live Reconfiguration and Reoptimization of Stream Programs · ASPLOS 2018 |
Embedded and real-time systems › model-based design › dataflow modeling
synchronous dataflow |
0.3 | 1 | 2018 | Gloss: Seamless Live Reconfiguration and Reoptimization of Stream Programs · ASPLOS 2018 |
Program analysis › binary analysis
binary lifting |
0.2 | 1 | 2015 | Helium: lifting high-performance stencil kernels from stripped x86 binaries to halide DSL code · PLDI 2015 |
Programming languages and type systems
domain-specific languages |
0.2 | 1 | 2015 | Helium: lifting high-performance stencil kernels from stripped x86 binaries to halide DSL code · PLDI 2015 |
Programming languages and type systems › domain-specific languages
halide |
0.2 | 1 | 2015 | Helium: lifting high-performance stencil kernels from stripped x86 binaries to halide DSL code · PLDI 2015 |
Compilers and program optimization
domain-specific compilation |
0.2 | 1 | 2014 | StreamJIT: a commensal compiler for high-performance stream programming · OOPSLA 2014 |
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation |
0.2 | 1 | 2014 | StreamJIT: a commensal compiler for high-performance stream programming · OOPSLA 2014 |
Cloud and datacenter computing › cluster resource management and scheduling
cluster resource management |
0.1 | 1 | 2018 | Gloss: Seamless Live Reconfiguration and Reoptimization of Stream Programs · ASPLOS 2018 |
Cloud and datacenter computing
elastic computing |
0.1 | 1 | 2018 | Gloss: Seamless Live Reconfiguration and Reoptimization of Stream Programs · ASPLOS 2018 |
Methods — techniques the papers use, named apart from their topics
linear equation solving · 0.4dynamic tracing · 0.4dependency tree canonicalization · 0.4buffer structure reconstruction · 0.4runtime techniques · 0.3compiler techniques · 0.3auto-tuning · 0.2JIT compilation · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Arithmetic Expression ConstructionabstractWhen can $n$ given numbers be combined using arithmetic operators from a given subset of $\{+, -, \times, ÷\}$ to obtain a given target number? We study three variations of this problem of Arithmetic Expression Construction: when the expression (1) is unconstrained; (2) has a specified pattern of parentheses and operators (and only the numbers need to be assigned to blanks); or (3) must match a specified ordering of the numbers (but the operators and parenthesization are free). For each of these variants, and many of the subsets of $\{+,-,\times,÷\}$, we prove the problem NP-complete, sometimes in the weak sense and sometimes in the strong sense. Most of these proofs make use of a "rational function framework" which proves equivalence of these problems for values in rational functions with values in positive integers. Leo Alcock, Sualeh Asif, Jeffrey Bosboom, Josh Brunner, Charlotte Chen, Erik D. Demaine, Rogers Epstein, Adam Hesterberg, Lior Hirschfeld, William Hu, Jayson Lynch, Sarah Scheffler, Lillian Zhang |
ISAAC | 3 |
| 2020 | Who witnesses The Witness? Finding witnesses in The Witness is hard and sometimes impossibleabstractWe analyze the computational complexity of the many types of pencil-and-paper-style puzzles featured in the 2016 puzzle video game The Witness. In all puzzles, the goal is to draw a simple path in a rectangular grid graph from a start vertex to a destination vertex. The different puzzle types place different constraints on the path: preventing some edges from being visited (broken edges); forcing some edges or vertices to be visited (hexagons); forcing some cells to have certain numbers of incident path edges (triangles); or forcing the regions formed by the path to be partially monochromatic (squares), have exactly two special cells (stars), or be singly covered by given shapes (polyominoes) and/or negatively counting shapes (antipolyominoes). We show that any one of these clue types (except the first) is enough to make path finding NP-complete ("witnesses exist but are hard to find"), even for rectangular boards. Furthermore, we show that a final clue type (antibody), which necessarily "cancels" the effect of another clue in the same region, makes path finding Σ2-complete ("witnesses do not exist"), even with a single antibody (combined with many anti/polyominoes), and the problem gets no harder with many antibodies. On the positive side, we give a polynomial-time algorithm for monomino clues, by reducing to hexagon clues on the boundary of the puzzle, even in the presence of broken edges, and solving "subset Hamiltonian path" for terminals on the boundary of an embedded planar graph in polynomial time. Zachary Abel, Jeffrey Bosboom, Michael J. Coulombe, Erik D. Demaine, Linus Hamilton, Adam Hesterberg, Justin Kopinsky, Jayson Lynch, Mikhail Rudoy, Clemens Thielen |
Theor. Comput. Sci. | 2 |
| 2018 | Gloss: Seamless Live Reconfiguration and Reoptimization of Stream ProgramsabstractAn important class of applications computes on long-running or infinite streams of data, often with known fixed data rates. The latter is referred to as synchronous data flow ~(SDF) streams. These stream applications need to run on clusters or the cloud due to the high performance requirement. Further, they require live reconfiguration and reoptimization for various reasons such as hardware maintenance, elastic computation, or to respond to fluctuations in resources or application workload. However, reconfiguration and reoptimization without downtime while accurately preserving program state in a distributed environment is difficult. In this paper, we introduce Gloss, a suite of compiler and runtime techniques for live reconfiguration of distributed stream programs. Gloss, for the first time, avoids periods of zero throughput during the reconfiguration of both stateless and stateful SDF based stream programs. Furthermore, unlike other systems, Gloss globally reoptimizes and completely recompiles the program during reconfiguration. This permits it to reoptimize the application for entirely new configurations that it may not have encountered before. All these Gloss operations happen in-situ, requiring no extra hardware resources. We show how Gloss allows stream programs to reconfigure and reoptimize with no downtime and minimal overhead, and demonstrate the wider applicability of it via a variety of experiments. Sumanaruban Rajadurai, Jeffrey Bosboom, Weng-Fai Wong, Saman P. Amarasinghe |
ASPLOS | 2 |
| 2015 | Helium: lifting high-performance stencil kernels from stripped x86 binaries to halide DSL codeabstractHighly optimized programs are prone to bit rot, where performance quickly becomes suboptimal in the face of new hardware and compiler techniques. In this paper we show how to automatically lift performance-critical stencil kernels from a stripped x86 binary and generate the corresponding code in the high-level domain-specific language Halide. Using Halide’s state-of-the-art optimizations targeting current hardware, we show that new optimized versions of these kernels can replace the originals to rejuvenate the application for newer hardware. The original optimized code for kernels in stripped binaries is nearly impossible to analyze statically. Instead, we rely on dynamic traces to regenerate the kernels. We perform buffer structure reconstruction to identify input, intermediate and output buffer shapes. We abstract from a forest of concrete dependency trees which contain absolute memory addresses to symbolic trees suitable for high-level code generation. This is done by canonicalizing trees, clustering them based on structure, inferring higher-dimensional buffer accesses and finally by solving a set of linear equations based on buffer accesses to lift them up to simple, high-level expressions. Helium can handle highly optimized, complex stencil kernels with input-dependent conditionals. We lift seven kernels from Adobe Photoshop giving a 75% performance improvement, four kernels from IrfanView, leading to 4.97× performance, and one stencil from the miniGMG multigrid benchmark netting a 4.25× improvement in performance. We manually rejuvenated Photoshop by replacing eleven of Photoshop’s filters with our lifted implementations, giving 1.12× speedup without affecting the user experience. Charith Mendis, Jeffrey Bosboom, Kevin Wu, Shoaib Kamil 0001, Jonathan Ragan-Kelley, Sylvain Paris, Saman P. Amarasinghe |
PLDI | 2 |
| 2014 | OpenTuner: an extensible framework for program autotuningabstractProgram autotuning has been shown to achieve better or more portable performance in a number of domains. However, autotuners themselves are rarely portable between projects, for a number of reasons: using a domain-informed search space representation is critical to achieving good results; search spaces can be intractably large and require advanced machine learning techniques; and the landscape of search spaces can vary greatly between different problems, sometimes requiring domain specific search techniques to explore efficiently. Jason Ansel, Shoaib Kamil 0001, Kalyan Veeramachaneni, Jonathan Ragan-Kelley, Jeffrey Bosboom, Una-May O'Reilly, Saman P. Amarasinghe |
PACT | 5 |
| 2014 | StreamJIT: a commensal compiler for high-performance stream programmingabstractThere are many domain libraries, but despite the performance benefits of compilation, domain-specific languages are comparatively rare due to the high cost of implementing an optimizing compiler. We propose commensal compilation, a new strategy for compiling embedded domain-specific languages by reusing the massive investment in modern language virtual machine platforms. Commensal compilers use the host language's front-end, use host platform APIs that enable back-end optimizations by the host platform JIT, and use an autotuner for optimization selection. The cost of implementing a commensal compiler is only the cost of implementing the domain-specific optimizations. We demonstrate the concept by implementing a commensal compiler for the stream programming language StreamJIT atop the Java platform. Our compiler achieves performance 2.8 times better than the StreamIt native code (via GCC) compiler with considerably less implementation effort. Jeffrey Bosboom, Sumanaruban Rajadurai, Weng-Fai Wong, Saman P. Amarasinghe |
OOPSLA | 1 |