Demo Data from SIGIR 2026 / reviewers in the wild / expert
Stephen Heumann
dblp:69/7473 · also Stephen T. Heumann
· DBLP profile ↗
6ranked-venue papers
2as first author
0since 2021 · last 2019
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4Systems, 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
4 papers |
Concurrent programming · 52% Programming languages and type systems · 28% Program analysis · 10% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Parallel and multicore computing · 100% |
Topics — the 13 heaviest of 13, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming › deterministic execution
deterministic parallelism |
0.4 | 3 | 2015 | Region and Effect Inference for Safe Parallelism (T) · ASE 2015 Safe nondeterminism in a deterministic-by-default parallel language · POPL 2011 A type and effect system for deterministic parallel Java · OOPSLA 2009 |
Programming languages and type systems › computational effects
type and effect systems |
0.2 | 2 | 2011 | Safe nondeterminism in a deterministic-by-default parallel language · POPL 2011 A type and effect system for deterministic parallel Java · OOPSLA 2009 |
Program verification
annotation inference |
0.2 | 1 | 2015 | Region and Effect Inference for Safe Parallelism (T) · ASE 2015 |
Concurrent programming › concurrency correctness
safe parallelism |
0.2 | 1 | 2015 | Region and Effect Inference for Safe Parallelism (T) · ASE 2015 |
Program analysis
static analysis |
0.2 | 1 | 2015 | Region and Effect Inference for Safe Parallelism (T) · ASE 2015 |
Programming languages and type systems
type inference |
0.2 | 1 | 2015 | Region and Effect Inference for Safe Parallelism (T) · ASE 2015 |
Concurrent programming
concurrency bugs |
0.2 | 1 | 2013 | The tasks with effects model for safe concurrency · PPoPP 2013 |
Concurrent programming
concurrency models |
0.2 | 1 | 2013 | The tasks with effects model for safe concurrency · PPoPP 2013 |
Concurrent programming › concurrency bugs
data race freedom |
0.2 | 1 | 2013 | The tasks with effects model for safe concurrency · PPoPP 2013 |
Programming languages and type systems
type systems |
0.1 | 1 | 2009 | A type and effect system for deterministic parallel Java · OOPSLA 2009 |
Programming languages and type systems › computational effects
effect systems |
0.0 | 1 | 2013 | The tasks with effects model for safe concurrency · PPoPP 2013 |
Parallel and multicore computing
parallel programming models |
0.0 | 1 | 2011 | Safe nondeterminism in a deterministic-by-default parallel language · POPL 2011 |
Programming languages and type systems
object-oriented programming |
0.0 | 1 | 2009 | A type and effect system for deterministic parallel Java · OOPSLA 2009 |
Methods — techniques the papers use, named apart from their topics
dynamic semantics · 0.4type and effect system · 0.2static semantics · 0.2constraint satisfaction · 0.2effect-aware runtime scheduling · 0.2compile-time type checking · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Region and effect inference for safe parallelism
Alexandros Tzannes, Stephen Heumann, Lamyaa Eloussi, Mohsen Vakilian, Vikram S. Adve, Michael Han 0003 |
Autom. Softw. Eng. | 2 |
| 2015 | Scalable Task Scheduling and Synchronization Using Hierarchical EffectsabstractSeveral concurrent programming models that give strong safety guarantees employ effect specifications that indicate what effects on shared state a piece of code may perform. These specifications can be much more expressive than traditional synchronization mechanisms like locks, and they are amenable to static and/or dynamic checking approaches for ensuring safety properties. The Tasks With Effects (TWE) programming model uses dynamic checking to give nearly the strongest safety guarantees of any existing shared memory language while providing the flexibility to express both structured and unstructured concurrency. Like several other systems, TWE's effect specifications use hierarchical memory regions, which can naturally model nested and modular data structures and allow effects to be expressed at different levels of granularity in different parts of a program. To implement a programming model like TWE with high performance, particularly for programs with many fine-grain tasks, the run-time task scheduler must employ an algorithm that can enforce task isolation (mutual exclusion of tasks with conflicting effects) with low overhead and high scalability. This paper describes such an algorithm for TWE. It uses a scheduling tree designed to take advantage of the hierarchical structure of TWE effects, obtaining two key properties that lead to high scalability: (a) effects need to be compared only for ancestor and descendant nodes in the tree, and not any other nodes, and (b) the scheduler can use fine-grain locking of tree nodes to enable highly concurrent scheduling operations. We prove formally that the algorithm guarantees task isolation. Experimental results with a range of programs show that the algorithm provides very good scalability, even with fine-grain tasks. Stephen Heumann, Alexandros Tzannes, Vikram S. Adve |
PACT | 1 |
| 2015 | Region and Effect Inference for Safe Parallelism (T)abstractIn this paper, we present the first full regions-and-effects inference algorithm for explicitly parallel fork-join programs. We infer annotations inspired by Deterministic Parallel Java (DPJ) for a type-safe subset of C++. We chose the DPJ annotations because they give the strongest safety guarantees of any existing concurrency-checking approach we know of, static or dynamic, and it is also the most expressive static checking system we know of that gives strong safety guarantees. This expressiveness, however, makes manual annotation difficult and tedious, which motivates the need for automatic inference, but it also makes the inference problem very challenging: the code may use region polymorphism, imperative updates with complex aliasing, arbitrary recursion, hierarchical region specifications, and wildcard elements to describe potentially infinite sets of regions. We express the inference as a constraint satisfaction problem and develop, implement, and evaluate an algorithm for solving it. The region and effect annotations inferred by the algorithm constitute a checkable proof of safe parallelism, and it can be recorded both for documentation and for fast and modular safety checking. Alexandros Tzannes, Stephen Heumann, Lamyaa Eloussi, Mohsen Vakilian, Vikram S. Adve, Michael Han 0003 |
ASE | 2 |
| 2013 | The tasks with effects model for safe concurrencyabstractToday's widely-used concurrent programming models either provide weak safety guarantees, making it easy to write code with subtle errors, or are limited in the class of programs that they can express. We propose a new concurrent programming model based on tasks with effects that offers strong safety guarantees while still providing the flexibility needed to support the many ways that concurrency is used in complex applications. The core unit of work in our model is a dynamically-created task. The model's key feature is that each task has programmer-specified effects, and a run-time scheduler is used to ensure that two tasks are run concurrently only if they have non-interfering effects. Through the combination of statically verifying the declared effects of tasks and using an effect-aware run-time scheduler, our model is able to guarantee strong safety properties, including data race freedom and atomicity. It is also possible to use our model to write programs and computations that can be statically proven to behave deterministically. We describe the tasks with effects programming model and provide a formal dynamic semantics for it. We also describe our implementation of this model in an extended version of Java and evaluate its use in several programs exhibiting various patterns of concurrency. Stephen Heumann, Vikram S. Adve |
PPoPP | 1 |
| 2011 | Safe nondeterminism in a deterministic-by-default parallel languageabstractA number of deterministic parallel programming models with strong safety guarantees are emerging, but similar support for nondeterministic algorithms, such as branch and bound search, remains an open question. We present a language together with a type and effect system that supports nondeterministic computations with a deterministic-by-default guarantee: nondeterminism must be explicitly requested via special parallel constructs (marked nd), and any deterministic construct that does not execute any nd construct has deterministic input-output behavior. Moreover, deterministic parallel constructs are always equivalent to a sequential composition of their constituent tasks, even if they enclose, or are enclosed by, nd constructs. Finally, in the execution of nd constructs, interference may occur only between pairs of accesses guarded by atomic statements, so there are no data races, either between atomic statements and unguarded accesses (strong isolation) or between pairs of unguarded accesses (stronger than strong isolation alone). We enforce the guarantees at compile time with modular checking using novel extensions to a previously described effect system. Our effect system extensions also enable the compiler to remove unnecessary transactional synchronization. We provide a static semantics, dynamic semantics, and a complete proof of soundness for the language, both with and without the barrier removal feature. An experimental evaluation shows that our language can achieve good scalability for realistic parallel algorithms, and that the barrier removal techniques provide significant performance gains. Robert L. Bocchino Jr., Stephen Heumann, Nima Honarmand, Sarita V. Adve, Vikram S. Adve, Adam Welc, Tatiana Shpeisman |
POPL | 2 |
| 2009 | A type and effect system for deterministic parallel JavaabstractToday's shared-memory parallel programming models are complex and error-prone.While many parallel programs are intended to be deterministic, unanticipated thread interleavings can lead to subtle bugs and nondeterministic semantics. In this paper, we demonstrate that a practical type and effect system can simplify parallel programming by guaranteeing deterministic semantics with modular, compile-time type checking even in a rich, concurrent object-oriented language such as Java. We describe an object-oriented type and effect system that provides several new capabilities over previous systems for expressing deterministic parallel algorithms.We also describe a language called Deterministic Parallel Java (DPJ) that incorporates the new type system features, and we show that a core subset of DPJ is sound. We describe an experimental validation showing thatDPJ can express a wide range of realistic parallel programs; that the new type system features are useful for such programs; and that the parallel programs exhibit good performance gains (coming close to or beating equivalent, nondeterministic multithreaded programs where those are available). Robert L. Bocchino Jr., Vikram S. Adve, Danny Dig, Sarita V. Adve, Stephen Heumann, Rakesh Komuravelli, Jeffrey Overbey, Patrick Simmons, Hyojin Sung, Mohsen Vakilian |
OOPSLA | 5 |