Experience


Drexel University: Assistant Professor

Assistant Professor in the Department of Computer Science. Teaching and research on programming languages, software engineering, and operating systems. See research and teaching. (September 2015 - Present)

Samsung Research America: Senior Research Engineer

Senior researcher in Samsung's Advanced Programming Tools group, within the Frontier Computer Science Lab / Computer Science Innovation Center. Worked on using type systems to efficiently statically compile JavaScript to greatly reduce memory consumption compared to a modern JIT, while still permitting competitive execution speed. Worked on type system design, and personally wrote most of the SJS compiler and runtime. (August 2014 - August 2015)

Microsoft: Midori / Technical Strategy Incubation, SDE Intern

Work on type system design for M#, a dialect of C# enforcing data race freedom (see OOPSLA 2012 publication). Also implemented initial prototype for runtime-checked design-by-contract features in the M# compiler (a fork of the C# compiler), and experimented with static checking of contracts using MSR's Clousot (see 2016 patent, submitted in 2013). (Summer 2011)

Microsoft: Midori / Technical Strategy Incubation, SDE 1

Full-time kernel developer on Midori, an incubation effort derived from MSR's Singularity project. Worked primarily on the microkernel: kernel debugger, post mortem debugging support, platform abstractions, Hyper-V integration (Midori as a paravirtualized guest), interrupt delivery to user mode via scheduler activations. (August 2008 - September 2009)

Sun Microsystems: Solaris Kernel Group - Solaris Kernel Intern

Merged two processor grouping scheduler abstractions. (Summer 2007

Network Appliance (NetApp): Filesystems Group - Member of Technical Staff Intern

Designed, and implemented a special-purpose filesystem for reducing fragmentation for small-object-stores running on top of NetApp's WAFL filesystem. See two patents issued in 2010 (submitted in 2007). (Summer 2006)