Demo Data from EDBT 2026 / reviewers in the wild / expert
Sean McDirmid
dblp:76/4167
· DBLP profile ↗
11ranked-venue papers
4as first author
0since 2021 · last 2015
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 4 first-authorSystems, architecture and hardware · 2Artificial intelligence and machine learning · 1Graphics, computer vision, multimedia, augmented reality and games · 1Human-computer interaction and ubiquitous computing · 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
6 papers |
Program analysis · 44% Programming languages and type systems · 26% Compilers and program optimization · 13% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Parallel and multicore computing · 69% Distributed systems · 31% | |
| Human-computer interaction and pervasive computing
2 papers |
User interface design and tools · 100% | |
| Artificial intelligence
1 paper |
Image recognition and object detection · 100% |
Topics — the 12 heaviest of 16, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
static analysis |
0.3 | 2 | 2015 | Spotting Code Optimizations in Data-Parallel Pipelines through PeriSCOPE · IEEE Trans. Parallel Distributed Syst. 2015 Spotting Code Optimizations in Data-Parallel Pipelines through PeriSCOPE · OSDI 2012 |
Program analysis
symbolic execution |
0.2 | 1 | 2015 | Spotting Code Optimizations in Data-Parallel Pipelines through PeriSCOPE · IEEE Trans. Parallel Distributed Syst. 2015 |
Programming languages and type systems › programming environment
live programming |
0.2 | 1 | 2013 | It's alive! continuous feedback in UI programming · PLDI 2013 |
Compilers and program optimization
compiler optimization |
0.1 | 1 | 2012 | Spotting Code Optimizations in Data-Parallel Pipelines through PeriSCOPE · OSDI 2012 |
Debugging and program repair
program monitoring |
0.1 | 1 | 2012 | DejaVu: integrated support for developing interactive camera-based programs · UIST 2012 |
Parallel and multicore computing
parallel programming models |
0.1 | 1 | 2012 | Spotting Code Optimizations in Data-Parallel Pipelines through PeriSCOPE · OSDI 2012 |
User interface design and tools
user interface programming |
0.0 | 1 | 2013 | It's alive! continuous feedback in UI programming · PLDI 2013 |
User interface design and tools › programming environments
integrated development environment |
0.0 | 1 | 2012 | DejaVu: integrated support for developing interactive camera-based programs · UIST 2012 |
Requirements engineering and software design › software architecture › component-based software engineering
component-based systems |
0.0 | 1 | 2001 | Jiazzi: New-Age Components for Old-Fashioned Java · OOPSLA 2001 |
Programming languages and type systems
type systems |
0.0 | 1 | 2001 | Jiazzi: New-Age Components for Old-Fashioned Java · OOPSLA 2001 |
Programming languages and type systems › inheritance
mixins |
0.0 | 1 | 2001 | Jiazzi: New-Age Components for Old-Fashioned Java · OOPSLA 2001 |
Programming languages and type systems
object-oriented programming |
0.0 | 1 | 2001 | Jiazzi: New-Age Components for Old-Fashioned Java · OOPSLA 2001 |
Methods — techniques the papers use, named apart from their topics
symbolic execution · 0.4dead code elimination · 0.4continuous feedback · 0.3static analysis · 0.3code optimization · 0.3semantic feedback · 0.1reactive programming · 0.1separate compilation · 0.0cyclic component linking · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | Spotting Code Optimizations in Data-Parallel Pipelines through PeriSCOPEabstractTo minimize the amount of data-shuffling I/O that occurs between the pipeline stages of a distributed data-parallel program, its procedural code must be optimized with full awareness of the pipeline that it executes in. Unfortunately, neither pipeline optimizers nor traditional compilers examine both the pipeline and procedural code of a data-parallel program so programmers must either hand-optimize their program across pipeline stages or live with poor performance. To resolve this tension between performance and programmability, this paper describes PeriSCOPE, which automatically optimizes a data-parallel program's procedural code in the context of data flow that is reconstructed from the program's pipeline topology. Such optimizations eliminate unnecessary code and data, perform early data filtering, and calculate small derived values (e.g., predicates) earlier in the pipeline, so that less data - sometimes much less data - is transferred between pipeline stages. PeriSCOPE further leverages symbolic execution to enlarge the scope of such optimizations by eliminating dead code. We describe how PeriSCOPE is implemented and evaluate its effectiveness on real production jobs. Xuepeng Fan, Hai Jin 0001, Xiaofei Liao, Hucheng Zhou, Sean McDirmid, Wei Lin 0016, Jingren Zhou 0001, Lidong Zhou |
IEEE Trans. Parallel Distributed Syst. | 7 |
| 2014 | Automating Distributed Partial AggregationabstractPartial aggregation is of great importance in many distributed data-parallel systems. Most notably, it is commonly applied by MapReduce programs to optimize I/O by successively aggregating partially reduced results into a final result, as opposed to aggregating all input records at once. In spite of its importance, programmers currently enable partial aggregation by tediously encoding their reduce functionality into separate reduce and combine functions. This is error prone and often leads to missed optimization opportunities. Chang Liu 0021, Hucheng Zhou, Sean McDirmid, Thomas Moscibroda |
SoCC | 4 |
| 2013 | Failure Recovery: When the Cure Is Worse Than the Disease
Sean McDirmid, Mao Yang 0004, Li Zhuang, Yingwei Luo, Tom Bergan, Madan Musuvathi, Zheng Zhang 0001, Lidong Zhou |
HotOS | 2 |
| 2013 | It's alive! continuous feedback in UI programmingabstractLive programming allows programmers to edit the code of a running program and immediately see the effect of the code changes. This tightening of the traditional edit-compile-run cycle reduces the cognitive gap between program code and execution, improving the learning experience of beginning programmers while boosting the productivity of seasoned ones. Unfortunately, live programming is difficult to realize in practice as imperative languages lack well-defined abstraction boundaries that make live programming responsive or its feedback comprehensible. Sebastian Burckhardt, Manuel Fähndrich, Jonathan de Halleux, Sean McDirmid, Michal Moskal, Nikolai Tillmann, Jun Kato 0001 |
PLDI | 4 |
| 2012 | ClippyScript: A Programming Language for Multi-Domain Dialogue Systems
Frank Seide, Sean McDirmid |
INTERSPEECH | 2 |
| 2012 | Spotting Code Optimizations in Data-Parallel Pipelines through PeriSCOPE
Xuepeng Fan, Rishan Chen, Hucheng Zhou, Sean McDirmid, Chang Liu 0021, Wei Lin 0016, Jingren Zhou 0001, Lidong Zhou |
OSDI | 6 |
| 2012 | DejaVu: integrated support for developing interactive camera-based programsabstractThe increasing popularity of interactive camera-based programs highlights the inadequacies of conventional IDEs in developing these programs given their distinctive attributes and workflows. We present DejaVu, an IDE enhancement that eases the development of these programs by enabling programmers to visually and continuously monitor program data in consistency with the frame-based pipeline of computer-vision programs; and to easily record, review, and reprocess temporal data to iteratively improve the processing of non-reproducible camera input. DejaVu was positively received by three experienced programmers of interactive camera-based programs in our preliminary user trial. Jun Kato 0001, Sean McDirmid |
UIST | 2 |
| 2007 | Living it up with a live programming languageabstractA dynamic language promotes ease of use through flexible typing, a focus on high-level programming, and by streamlining the edit-compile-debug cycle. Live languages go beyond dynamic languages with more ease of use features. A live language supports live programming that provides programmers with responsive and continuous feedback about how their edits affect program execution. A live language is also based on high-level constructs such as declarative rules so that programmers can write less code. A live language could also provide programmers with responsive semantic feedback to enable time-saving services such as code completion. This paper describes the design of a textual live language that is based on reactive data-flow values known as signals and dynamic inheritance. Our language, SuperGlue, supports live programming with responsive semantic feedback, which we demonstrate with a working prototype. Sean McDirmid |
OOPSLA | 1 |
| 2006 | SuperGlue: Component Programming with Object-Oriented Signals
Sean McDirmid, Wilson C. Hsieh |
ECOOP | 1 |
| 2004 | Splice: Aspects That Analyze Programs
Sean McDirmid, Wilson C. Hsieh |
GPCE | 1 |
| 2001 | Jiazzi: New-Age Components for Old-Fashioned JavaabstractWe present Jiazzi, a system that enables the construction of large-scale binary components in Java. Jiazzi components can be thought of as generalizations of Java packages with added support for external linking and separate compilation. Jiazzi components are practical becuase they are constructed out of standard Java source code. Jiazzi requires neither extensions to the Java language nor special conventions for writing Java source code that will go inside a component. Our components are expressive becuase Jiazzi supports cyclic component linking and mixins, which are used together in an open class pattern that enables the modular addition of new features to existing classes. This paper describes Jiazzi, how it enhances Java with components, its implementation, and how type checking works. An implementation of Jiazzi is available for download. Sean McDirmid, Matthew Flatt, Wilson C. Hsieh |
OOPSLA | 1 |