About

I am a member of the Research in Software Engineering group at Microsoft Research. My work aims to improve software reliability by providing programmers with automated tools to analyze their programs. Most of my work has focused on analysis of concurrent software.

Projects

Safe asynchronous programming with P and P#

Established: March 15, 2016

We are designing programming languages for building safe and reliable asynchronous systems. The languages are based on the programming idiom of communicating state machines. They offer first-class support for writing safety and liveness specifications as well as building abstract models of…

Project Premonition

Established: March 2, 2015

"Project Premonition aims to detect pathogens before they cause outbreaks" Emerging infectious diseases such as Zika, Ebola, Chikungunya and MERS are dangerous and unpredictable. Public health organizations need data as early as possible to predict disease spread and plan responses. But, early data is very difficult to…

Certification of Symbolic Transaction

Established: May 6, 2015

Logic flaws are prevalent in multiparty cloud services, which cause serious consequences, e.g., an attacker can make purchases without paying, or gets into other people’s accounts without password. For decades, researchers have been advocating formal verification as a solution, but…

Boogie: An Intermediate Verification Language

Established: December 10, 2008

Boogie is an intermediate verification language, intended as a layer on which to build program verifiers for other languages. Several program verifiers have been built in this way, including the VCC and HAVOC verifiers for C and the verifiers for…

Publications

2016

2015

2014

2013

2012

2011

Delay-bounded scheduling
Michael Emmi, Shaz Qadeer, Zvonimir Rakamaric, in Proceedings of the 38th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, Association for Computing Machinery, Inc., January 1, 2011, View abstract, Download PDF
Linear Maps
Shuvendu Lahiri, Shaz Qadeer, David Walker, in ACM SIGPLAN Workshop on Programming Languages meets Program Verification, ACM SIGPLAN, January 1, 2011, View abstract, Download PDF

2010

2009

2008

2007

2006

2005

Projects