Journey to null safety for Java at Facebook. An experience report.
Static Analysis is a valuable tool to maintain and improve code correctness. At Facebook static analysis checkers are deployed at “diff-time” checking all changes and notifying developers about potential issues before they make it into the trunk. This helps in controlling the influx of new issues, but has limited effect on existing issues in millions of lines of legacy code.
Two years ago we took one particular checker - a nullability checker for Java called Nullsafe - and set on a goal to go from hundreds of thouhsands of Nullsafe issues in trunk to zero and effectively eliminate a whole class of preventable NullPointerExcpetion’s in Facebook’s Java code.
In this talk we will share what we’ve learned along the way: how we evolved Nullsafe checker, tooling and infrastructure we had to build, the importance of user experience (UX), the practice of engaging with the developers and driving massive code migration.
Mon 21 JunDisplayed time zone: Eastern Time (US & Canada) change
09:00 - 11:45 | |||
09:00 40mTalk | Journey to null safety for Java at Facebook. An experience report. Infer Practitioners | ||
09:40 15mLive Q&A | Q&A 1 Infer Practitioners | ||
09:55 40mTalk | Classifying and Prioritizing Facebook Infer's Warnings Infer Practitioners Sofia Reis Instituto Superior Técnico, U. Lisboa & INESC-ID, João Francisco Roberto Martins Instituto Superior Técnico, U. Lisboa & INESC-ID, João F. Ferreira INESC-ID and IST, University of Lisbon, Rui Abreu Faculty of Engineering, University of Porto, Portugal | ||
10:35 15mLive Q&A | Q&A 2 Infer Practitioners | ||
10:50 40mTalk | Compositional checking of safety temporal properties Infer Practitioners Radu Grigore Facebook | ||
11:30 15mLive Q&A | Q&A 3 Infer Practitioners |