UCSD Programming Systems

The Programming Systems Group in the Department of Computer Science and Engineering at the University of California, San Diego is interested in developing new languages, compilers, program analysis techniques and development environments for making software systems easier to build, maintain and understand.

Ranjit Jhala


Sorin Lerner


Deian Stefan

Assistant Professor

Mario Alvarez (Ph. D. student, started 2014)

Rami Gokhan Kici (Ph. D. student, started 2014)

Ben Cosman (Ph. D. student, started 2014)

John Sarracino (Ph. D. student, started 2014)

Marc Andrysco (Ph. D. student, started 2013)

Valentin Robert (Ph. D. student, started 2012)

Alexander Bakst ((Ph. D. student, started 2011)

Dimitar Bounov (Ph. D. student, started 2011)

Niki Vazou (Ph. D. student, started 2011)

Panagiotis Vekris (Ph. D. student, started 2011)

Samantha Wood (Ph. D. student, started 2011)

Daniel Ricketts (Ph. D. student, started 2010)

Stephen Foster (Ph. D. student, started 2010)

Alan Leung (Ph. D. student, started 2010)

Ming Kawaguchi (Ph. D. student, started 2005)

Zachary Tatlock (Ph. D. 2014)     Assistant Professor at University of Washington

Dongseok Jang (Ph. D. 2014)     Google

Ravi Chugh (Ph. D. 2012)     Post-doc in UCSD Progsys Group

Patrick Rondon (Ph. D. 2012)     Google

Ross Tate (Ph. D. 2012)     Assistant Professor at Cornell

Mike Stepp (Ph. D. 2011)     Google

Jeffrey A. Meister (M.S. 2011)     MyLife

Sudipta Kundu (Ph. D. 2009)     Synopsis

Macneil Shonle (Ph. D. 2009)     Assistant Professor at the University of Texas at San Antonio, then Google

Jan Wen Voung (Ph. D. 2009)     Google

Chip Killian (Ph. D. 2009)     Assitant Professor at Purdue, then Google

(09/01/15) Deian Stefan joins UCSD! Welcome to CSE Deian!.

(01/24/14) Ranjit Jhala and his co-authors received the 2014 SIGPLAN Most Influential POPL Paper Award for their POPL 2004 paper "Abstractions from Proofs". Congrats!

(01/17/14) Niki Vazou receives a Microsoft Research Fellowship. Congratulations Niki!

(09/15/13) Zach Tatlock starts his job at the University of Washington. We are super-excited for you, Zach, best of luck!

(06/17/13) Pat Rondon receives ACM SIGPLAN Dissertation award. From the citation: "The achieved degree of effectiveness and automation is astonishing: programs that are beyond the existing verification tools can be handled fully automatically within seconds." Congrats Pat!

(07/17/12) Ross Tate defended fearlessly today, and is heading to Cornell in the fall to start as Assistant Professor. Ross, it's time to start wearing shoes!

(07/03/12) Pat Rondon defended eloquently today, and is heading to Google New York. I'm sure you'll be looking back fondly on the days when you could wear those sunglasses year-round...

(02/04/11) UCSD grad students and faculty on three PLDI 2011 papers. Awesome job everybody!

(02/12/10) UCSD grad students and faculty have four papers accepted to PLDI 2010. Congrats to all!

(10/05/09) The UCSD Programming Systems group has two papers accepted to POPL 2010. Congrats to all!

(08/15/09) Macneil Shonle has graduated and will start as an Assistant Professor at UT San Antonio. Awesome job Macneil!

(08/01/09) Sudipta Kundu did a fantastic job at defending his thesis. He is going to join Synopsis. Congrats Sudipta!

(02/03/09) Ross Tate has received a Microsoft Research Fellowship. Congratulations Ross!

(01/27/09) The UCSD Programming Systems group has three papers accepted to PLDI 2009. Congrats to all!
Automating Formal Proofs for Reactive Systems, Daniel Ricketts, Valentin Robert, Donseok Jang, Zachary Tatlock, and Sorin Lerner, PLDI, 2014.

SafeDispatch: Securing C++ Virtual Calls from Memory Corruption, Dongseok Jang, Zachary Tatlock, and Sorin Lerner, NDSS, 2014.

Abstract Refinement Types, Niki Vazou, Patrick Rondon, and Ranjit Jhala, ESOP, 2013.

Dependent Types For JavaScript, Ravi Chugh, David Herman, and Ranjit Jhala, OOPSLA, 2012.

CSolve: Verifying C With Liquid Types, Patrick Rondon, Ming Kawaguchi, Alexander Bakst, and Ranjit Jhala, CAV, 2012.

Deterministic Parallelism via Liquid Effects, Patrick Rondon, Ming Kawaguchi, Alexander Bakst, and Ranjit Jhala, PLDI, 2012.

Verifying GPU Kernels By Test Amplification, Alan Leung, Manish Gupta, Yuvraj Agarwal, Rajesh Gupta, Ranjit Jhala, and Sorin Lerner, PLDI, 2012.

Nested Refinements: A Logic For Duck Typing, Ravi Chugh, Patrick Rondon, and Ranjit Jhala, POPL, 2012.

WitchDoctor: IDE support for real-time auto-completion of refactorings, Stephen Foster, William Griswold, and Sorin Lerner, ICSE, 2012.

Establishing Browser Security Guarantees through Formal Shim Verification, Donseok Jang, Zachary Tatlock, and Sorin Lerner, USENIX Security, 2012.

[ Publication Archive ]