Richard Shin (신의철)

Richard Shin's headshot

PhD Candidate, Computer Science
UC Berkeley

719 Soda Hall, Berkeley, CA

CV, Google Scholar, GitHub, LinkedIn, Twitter

I'm working on my PhD in Computer Science at UC Berkeley, advised by Dawn Song. I am a member of the Berkeley AI Research Lab and have also collaborated with the RISE Lab. Previously, I received my MS and BS degrees also at UC Berkeley. I've worked at Google AI, Intel Labs, and Microsoft Research AI.

I'm interested in creating machines that can learn and reason about programs to reliably understand and carry out complex human intentions. My research in neural program synthesis addresses challenges of generalizing to new tasks and learning robustly from scarce supervision, by combining symbolic and neural techniques to leverage hierarchy for scalable learning of complex behaviors and to exploit the inherent structure of programs as trees and graphs.

I am excited both about applications like empowering non-technical users to program, as well as contributing new perspectives on core challenges in AI such as interpretability, generalization, and abstraction.

Previously, I have also done research relating to security applications of machine learning, software security, and web security.



Program Synthesis and Semantic Parsing with Learned Code Idioms

NeurIPS 2019

RAT-SQL: Relation-Aware Schema Encoding and Linking for Text-to-SQL Parsers


Encoding Database Schemas with Relation-Aware Self-Attention for Text-to-SQL Parsers
Richard Shin


Synthetic Datasets for Neural Program Synthesis

ICLR 2019


Hierarchical Imitation Learning via Variational Inference of Control Programs

Infer2Control workshop at NeurIPS 2018

Improving Neural Program Synthesis with Inferred Execution Traces

NeurIPS 2018 (spotlight presentation)

Imitation Learning of Hierarchical Programs via Variational Inference

NAMPI workshop at ICML 2018

Differentiable Neural Network Architecture Search
Richard Shin*, Charles Packer*, Dawn Song

ICLR 2018 workshop track

Towards Specification-Directed Program Repair

ICLR 2018 workshop track

Parametrized Hierarchical Procedures for Neural Programming

ICLR 2018


JPEG-resistant Adversarial Images
Richard Shin, Dawn Song

Machine Learning and Computer Security workshop at NeurIPS 2017

PIANO: Proximity-based User Authentication on Voice-Powered Internet-of-Things Devices
Neil Zhenqiang Gong, Altay Ozen, Yu Wu, Xiaoyu Cao, Richard Shin, Dawn Song, Hongxia Jin, Xuan Bao

ICDCS 2017

Making Neural Programming Architectures Generalize via Recursion
Jonathon Cai, Richard Shin, Dawn Song

ICLR 2017 (best paper award)


ExploreKit: Automatic Feature Generation and Selection
Gilad Katz, Richard Shin, Dawn Song

ICDM 2016

Latent Attention for If-Then Program Synthesis

NeurIPS 2016


Exploring Privacy Preservation in Outsourced K-Nearest Neighbors with Multiple Data Owners
Frank Li, Richard Shin, Vern Paxson

CCSW at CCS 2015

Recognizing Functions in Binaries with Neural Networks
Richard Shin, Dawn Song, Reza Moazzezi

USENIX Security 2015


Joint Link Prediction and Attribute Inference Using a Social-Attribute Network

TIST, published 2014-04


On the Feasibility of Internet-Scale Author Identification

IEEE S&P 2012

FreeMarket: Shopping for free in Android applications

NDSS 2012


A Systematic Analysis of XSS Sanitization in Web Application Frameworks



Inference and Analysis of Formal Models of Botnet Command and Control Protocols

CCS 2010

The Emperor's New APIs: On the (In)Secure Usage of New Client-side Primitives

W2SP workshop at IEEE S&P 2010