Selected Publications

We present an end-to-end learning framework, Code2Inv, which directly maps source code to loop invariants. Inspired by how human experts construct loop invariants, our framework constructs the solution by multi-step decision making and querying an external program graph memory block. By training with reinforcement learning, we are able to capture rich program features and avoid the need for ground truth solutions as supervision.
In NIPS (spotlight), 2018

We present a Datalog synthesis engine, ALPS, which leverages latent syntactic structure of Datalog programs and prunes the search space by bi-directional search and active learning. Our evaluation on a suite of 34 benchmarks shows that ALPS can synthesize 33 of them, which significantly outperforms the state-of-the-art tools Metagol and Zaatar, which can synthesize only up to 10 of these benchmarks.
In FSE, 2018

Publications

Filter by type:
. Learning Loop Invariants for Program Verification. In NIPS (spotlight), 2018.

PDF Code

. Syntax-Guided Synthesis of Datalog Programs. In FSE, 2018.

PDF Code Dataset

. Difflog: Beyond Deductive Methods in Program Analysis. In Machine Learning for Programming, 2018.

PDF

. Effective Interactive Resolution of Static Analysis Alarms. In OOPSLA, 2017.

PDF

. Maximum Satisfiability in Software Analysis: Applications and Techniques. In CAV, 2017.

PDF Slides

. On Incremental Core-Guided MaxSAT Solving. In CP, 2016.

PDF Slides

. APISan: Sanitizing API Usages through Semantic Cross-checking. In USENIX Security (Nominated as a finalist in CSAW Best Applied Research Paper), 2016.

PDF Code Slides

Projects

ALPS

Syntax-Guided Synthesis of Datalog Programs

APISan

Sanitizing API Usages through Semantic Cross-Checking

Petablox

Large-Scale Software Analysis and Analytics Using Datalog

Nichrome

A Solver for Mixed Hard and Soft Constraints

Teaching

Teaching Assistant, CIS 700 Software Analysis and Testing, University of Pennsylvania, 2017 Fall

Teaching Assistant, CS 6340 Software Analysis and Testing (online course), Georgia Institute of Technology, 2016 Spring

Teaching Assistant, CS 7001 Introduction to Graduate Studies, Georgia Institute of Technology, 2015 Fall

Teaching Assistant, CS 285 Computer Networks, Vanderbilt University, 2012 Spring

Teaching Assistant, CS 212 Discrete Structures, Vanderbilt University, 2011 Fall

Recent & Upcoming Talks

NIPS spotlight
Dec 3, 2018 11:00 AM
FSE paper presentation
Nov 8, 2018 11:30 AM
PRiML Spotlight
Sep 28, 2018 3:00 PM

Service

PLDI’18 Student Volunteer Chair, Philadelphia, PA, June 18-22, 2018

POPL’16 Student Volunteer, St. Petersburg, FL, Jan. 20-23, 2016

Selected Awards

ESEC/FSE Travel Fund Award from the US National Science Foundation, 2018

World Finalist of the ACM/ICPC, Ekaterinburg, 2014

Champion of the 38th ACM/ICPC Mid-Central USA Regional, Nashville, 2013

National Scholarship (top 1), Nankai University, 2010

Tianjin Government Scholarship (top 4), Nankai University, 2009

Contact