Computer Engineering Seminar

Safe asynchronous event-driven programming in P

Shaz QadeerPrincipal ResearcherMicrosoft

Asynchrony is unavoidable in a world of communicating computers, devices, and services. Unfortunately for the users of such systems, asynchronous programs that are simultaneously responsive and correct are difficult to implement because of classical challenges such as concurrency and reactivity. To address this problem, we have created P, a domain-specific language for implementing asynchronous

P is based on the computational model of communicating state machines.It is especially suitable for implementing protocols in low-level,
event-driven software such as device drivers. P has been used to implement the USB device driver stack that shipped with Windows 8, and
it is currently being used for software development in Windows and Windows Phone. This talk presents the design and implementation of the
compiler, runtime, and verifier for P programs.

P is joint work with colleagues in Microsoft Research and Windows Engineering.
Shaz Qadeer is a Principal Researcher at Microsoft. He is interested in developing languages, tools, and techniques for making concurrent programming safer and easier.

Sponsored by

Satish Narayanasamy