Office Hours: TBD for Fall 2019
[C.V.] [YouTube channel]
About MeI'm an Associate Professor of Computer and Information Science at the University of Pennsylvania. I received a Ph.D. in Computer Science from Stanford University in 2008, where my advisor was Alex Aiken, and an M.S. from Purdue University in 2003, where my advisor was Jens Palsberg. I was a researcher at Intel Labs, Berkeley from 2008 to 2011, and an Assistant Professor of Computer Science at Georgia Tech from 2011 to 2016.
Recent NewsFuture Events
- Tutorial at POPL'20 on Building Program Reasoning Tools using LLVM and Z3.
- Apply here for a postdoc position in my research group.
- My PhD students Xujie Si and Xin Zhang will be on the job market.
- Paper on provenance-guided synthesis of Datalog programs to appear at POPL 2020.
- Check out DatalogBench -- a benchmark suite for interpretable rule learning.
- I am teaching CIS 573: Software Engineering in Fall 2019.
- RightingCode.org: my online course on Software Analysis and Testing.
My research group investigates how to make software better and programming easier by developing computer-aided approaches that combine machine learning and formal methods.
You can learn more by following these links:
I created the first large-scale online course (MOOC) on Software Analysis and Testing. All course material is available at rightingcode.org. Lectures with assessments are available on Udacity. Autograding scripts for the labs are available to instructors upon request.
I teach the following courses at Penn: