Tue 25 Jun 2019 14:20 - 14:40 at 228AB - Learning Specifications Chair(s): Michael Pradel

We present a new scalable, semi-supervised method for inferring taint analysis specifications by learning from a large dataset of programs. Taint specifications capture the role of library APIs (source, sink, sanitizer) and are a critical ingredient of any taint analyzer that aims to detect security violations based on information flow.

The core idea of our method is to formulate the taint specification learning problem as a linear optimization task over a large set of information flow constraints. The resulting constraint system can then be efficiently solved with state-of-the-art solvers. Thanks to its scalability, our method can infer many new and interesting taint specifications by simultaneously learning from a large dataset of programs (e.g., as found on GitHub), while requiring few manual annotations.

We implemented our method in an end-to-end system, called Seldon, targeting Python, a language where static specification inference is particularly hard due to lack of typing information. We show that Seldon is practically effective: it learned almost $7,000$ API roles from over $210,000$ candidate APIs with very little supervision (less than $300$ annotations) and with high estimated precision ($67%$). Further, using the learned specifications, our taint analyzer flagged more than $20,000$ violations in open source projects, $97%$ of which were undetectable without the inferred specifications.

Tue 25 Jun

pldi-2019-papers
14:00 - 15:30: PLDI Research Papers - Learning Specifications at 228AB
Chair(s): Michael PradelTU Darmstadt and Facebook
pldi-2019-papers14:00 - 14:20
Talk
Jan EberhardtDeepCode, Switzerland, Samuel SteffenETH Zurich, Switzerland, Veselin RaychevDeepCode AG, Martin VechevETH Zürich
Pre-print Media Attached
pldi-2019-papers14:20 - 14:40
Talk
Victor ChibotaruDeepCode, Switzerland, Benjamin BichselETH Zurich, Switzerland, Veselin RaychevDeepCode AG, Martin VechevETH Zürich
Pre-print Media Attached
pldi-2019-papers14:40 - 15:00
Talk
Angello Astorga, P. MadhusudanUniversity of Illinois at Urbana-Champaign, Shambwaditya Saha, Shiyu WangUniversity of Illinois at Urbana-Champaign, USA, Tao XieUniversity of Illinois at Urbana-Champaign, USA
pldi-2019-papers15:00 - 15:20
Talk
Ton Chanh LeStevens Institute of Technology, Guolong ZhengUniversity of Nebraska Lincoln, ThanhVu NguyenUniversity of Nebraska-Lincoln