Office Hours: 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
- Submit papers to VEE 2019 (deadline: Dec 18 AOE, 2018).
- Our research on AI-based continuous program reasoning has received a Facebook award.
- Our paper on inferring loop invariants using deep reinforcement learning appeared at NeurIPS 2018 [code]
- Our paper on syntax-guided synthesis of Datalog programs appeared at FSE 2018 [code]
- Our paper on automated program debloating via reinforcement learning appeared at CCS 2018 [code]
- Invited talk on maximum satisfiability in program analysis at VMCAI 2018 and CAV 2017.
- I am teaching CIS 700: Software Analysis and Testing in Fall 2018.
- Check out the first online Ivy League master's degree in Computer Science!
- rightingcode.org: my online course on Software Analysis and Testing.
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: