Michael received his doctorate in Computer Science from UCLA in 2010 and joined Amazon Web Services (AWS) in 2019, following a postdoc fellowship at the Paris 7 awarded by La Fondation Sciences Mathématiques de Paris (FSMP), and faculty researcher positions at the IMDEA Software Institute, Nokia Bell Labs, and SRI International. Prior to all that, Michael completed his undergraduate studies at Binghamton University (SUNY). He has been a teaching assistant for undergraduate courses at UCLA and Paris 7, and has held internships at Microsoft Research, NASA Ames Research Center, and IBM.

Michael’s research enables the construction of reliable software by developing the foundations for effective programming abstractions and informative program analysis tools. Integrating technological trends with knowledge from several research communities spanning automata theory, programming languages, and distributed systems, his contributions include establishing the theoretical limits of program analysis, devising tractable approximations for intractable analysis problems, and building effective analysis tools.

Professional Activities

Program Committee CSF ’23
Program Committee ESOP ’23
Program Chair DSV ’22
Program Committee ATVA ’22
Program Committee CSF ’22
Program Committee POPL ’22
Program Committee SAS ’21
Program Committee CSF ’21
External Review Committee OOPSLA ’20
Program Committee CONCUR ’20
Program Committee CAV ’20
Program Chair DSV ’20
Selection Committee PL Day ’19
Program Committee PLDI ’19
Program Committee POPL ’19
Program Chair DSV ’19
Contributed Talk NYPLSE ’19
Review Panelist NSF ‘19
Contributed Talk PL Day ’18
Program Committee LPAR-22
Invited Talk AVoCS ’18
Invited Talk FRIDA ’18
Program Committee YR-CONCUR ’18
Invited Talk VSSE ’18
Program Committee SecDev ’18
Program Committee NETYS ’18
Program Committee CAV ’18
Review Panelist NSF ‘17
Program Committee TAPAS ’17
Contributed Talk PL Day ’17
Program Committee CAV ’17
Program Committee FORTE ’17
Program Committee FoSSaCS ’17
Contributed Talk NJPLS ’16
Invited Talk FMS ’16
Program Committee EC2 ’16
Program Committee FMCAD ’16
Program Committee NETYS ’16
External Review Committee POPL ’16
External Review Committee PPoPP ’16
Program Committee EC2 ’15
External Review Committee POPL ’15
Invited Talk CCDP ’15
Program Committee FM ’15
Program Chair EC2 ’14
External Review Committee PLDI ’14
External Review Committee POPL ’13
Program Committee VMCAI ’13
Program Committee Bytecode ’11


Verifying Constant-Time Implementations USENIX Security ’16
SMACK Software Verification Toolchain ICSE Companion ’16
Lock Allocation POPL ’07


SV-COMP award-winning bounded software verifier for C programs.
a tool for verifying constant time implementations, and a case study of verified constant-time implementations.
discovers simple test harnesses which demonstrate violations to atomicity — and weak-consistency — of Java concurrent data structures.
efficient symbolic reasoning algorithms for checking linearizability of concurrent data structures.
Boogie AST Manipulator which implements various code analyses and transformations for the Boogie intermediate verification language.
simplifies the creation and maintenance of bibliographies in LaTeX documents by fetching the BibTex entries corresponding to LaTeX citations.
save paper by printing every two pages on a single page.