Modularity 2016
Mon 14 - Thu 17 March 2016 Spain
Wed 16 Mar 2016 16:00 - 16:30 at MODULARITY - Concurrency and Recovery Chair(s): Steffen Zschaler

Implicit concurrency between handlers is important for event driven systems because it helps simultaneously promote modularity and scalability. Knowing the side-effect of the handlers is critical in these systems to avoid concurrency hazards such as data races. As event systems are dynamic because statically known and unknown handlers can register at almost any time during program execution, static effect analyses must reconcile over competing goals such as precision, soundness and modularity. We recently developed asynchronous, typed events, a system that can analyze the effects of the handlers at runtime. This mechanism utilizes runtime information to enable precise effect computation and greatly improves concurrency between handlers. In this paper, we present the formal underpinnings of asynchronous, typed events, and examine the concurrency safety properties it provides. The technical innovations of our system include a novel effect system to soundly approximate the dynamism introduced by runtime handlers registration, a static analysis to precompute the effects and a dynamic analysis that uses the precomputed effects to improve concurrency. Our design simplifies modular concurrency reasoning and avoids concurrency hazards.

Wed 16 Mar

16:00 - 17:30: Research Results - Concurrency and Recovery at MODULARITY
Chair(s): Steffen ZschalerKing's College London
modularity-2016-papers145814040000016:00 - 16:30
Yuheng LongIowa State University, Hridesh RajanIowa State University
modularity-2016-papers145814220000016:30 - 17:00
Yuheng LongIowa State University, Mehdi BagherzadehIowa State University, Eric LinIowa State University, USA, Ganesha UpadhyayaIowa State University, USA, Hridesh RajanIowa State University
modularity-2016-papers145814400000017:00 - 17:30
Sven KarolTechnische Universität Dresden, Norman A. RinkTU Dresden, Germany, Bálint GyapjasTU Dresden, Germany, Jeronimo CastrillonTechnische Universität Dresden