MPI-INF Logo
Campus Event Calendar

Event Entry

What and Who

Heap-based reasoning about asynchronous concurrency

Johannes Kloos
MMCI
SWS Student Defense Talks - Thesis Proposal
SWS  
Public Audience
English

Date, Time and Location

Thursday, 27 October 2016
18:00
-- Not specified --
G26
111
Kaiserslautern

Abstract

Asynchronous concurrency is a wide-spread way of writing programs that
deal with many short tasks. It is the programming model behind event-driven
concurrency, as exemplified by GUI applications, where the tasks correspond to event
handlers, web applications based around JavaScript, the implementation of web browsers,
but also of server-side software or operating systems. It provides a middle-ground
between sequential programming and multi-threading, giving the benefits of concurrency while
being easier to program than multi-threading.

While there are languages and libraries that make the construction of
asynchronous programs relatively simple, there is little support for asynchronous
program analysis. Existing working is mostly focused on model checking or performing
specific targeted analyses. The model checking techniques in particular have turned out to
be inefficient and completely ignore the heap.
In this thesis proposal, I will address the question of how we can reason
about asynchronous programs, and how I want to use this to optimize asynchronous programs.
I will address three main questions:
1.      How can we reason about asynchronous programs, without ignoring
the heap?
2.      How can we use such reasoning techniques to optimize programs
involving asynchronous behavior?
3.      How can we scale reasoning and optimization to apply to real-world
software?
In the proposal, I will describe answers to all three questions. The
unifying idea behind all of these results is the use of a appropriate model of global state
(usually, the heap) and a promise-based model of asynchronous concurrency.

To address the first question, I will describe some prior work (ALST,
ECOOP 2015), where we extended the OCaml type system to reason about asynchronous
concurrency. To address the second and third question, I will describe an ongoing project
(JSDefer) about optimization web pages by loading JavaScript asynchronously, and a planned project
about an automated optimization step for OCaml programs to use change synchronous to
asynchronous I/O operations safely.

Contact

--email hidden

Video Broadcast

Yes
Saarbrücken
E1 5
105
passcode not visible
logged in users only

Maria-Louise Albrecht, 12/22/2016 14:52 -- Created document.