Office Hours: Mondays 11-noon or book an appointment
[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
- May 3: Speaking at the Programming Systems and Tools Science Symposium at Uber in San Francisco
- June 1: Keynote talk at workshop on Machine Learning and Software Engineering at Google in Montreal
- August 26-30: Speaking at Waterloo Workshop on ML + Security + Verification
- Our work on continuously reasoning about programs will appear at PLDI 2019.
- Our work on program synthesis via deep reinforcement learning will appear at ICLR 2019.
- New version of Chisel framework and benchmarks released!
- Our research on AI-based continuous program reasoning has received a Facebook award.
- I am teaching CIS 450/550: Database and Information Systems in Spring 2019.
- RightingCode.org: my online course on Software Analysis and Testing.
- Check out the first online Ivy League Masters Degree in Computer Science!
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: