scispace - formally typeset
S

Stephen T. Heumann

Researcher at University of Illinois at Urbana–Champaign

Publications -  8
Citations -  430

Stephen T. Heumann is an academic researcher from University of Illinois at Urbana–Champaign. The author has contributed to research in topics: Concurrency & Concurrent computing. The author has an hindex of 4, co-authored 8 publications receiving 415 citations.

Papers
More filters
Journal ArticleDOI

A type and effect system for deterministic parallel Java

TL;DR: It is demonstrated 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.
Journal ArticleDOI

Safe nondeterminism in a deterministic-by-default parallel language

TL;DR: A language together with a type and effect system that supports nondeterministic computations with a deterministic-by-default guarantee, which provides a static semantics, dynamic semantics, and a complete proof of soundness for the language, both with and without the barrier removal feature.
Proceedings ArticleDOI

The tasks with effects model for safe concurrency

TL;DR: 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 is proposed.
Proceedings ArticleDOI

Region and Effect Inference for Safe Parallelism (T)

TL;DR: This paper infer annotations inspired by Deterministic Parallel Java (DPJ) for a type-safe subset of C++ that gives strong safety guarantees and expresses the inference as a constraint satisfaction problem and develops, implement, and evaluate an algorithm for solving it.
Proceedings ArticleDOI

Disciplined concurrent programming using tasks with effects

TL;DR: This work argues that a concurrent programming model should offer strong safety guarantees, while still providing the flexibility and performance needed to support the many ways that concurrency is used in complex, interactive applications.