Write a Blog >>
PLDI 2021
Sun 20 - Sat 26 June 2021 PLDI
Mon 21 Jun 2021 09:00 - 09:40 at Infer Practitioners - Session 1 Chair(s): Dino Distefano

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 Jun

Displayed time zone: Eastern Time (US & Canada) change

09:00 - 11:45
Session 1Infer Practitioners at Infer Practitioners
Chair(s): Dino Distefano Facebook London
09:00
40m
Talk
Journey to null safety for Java at Facebook. An experience report.
Infer Practitioners
Artem Pianykh Facebook London, Mitya Lyubarskiy Facebook London
09:40
15m
Live Q&A
Q&A 1
Infer Practitioners

09:55
40m
Talk
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
15m
Live Q&A
Q&A 2
Infer Practitioners

10:50
40m
Talk
Compositional checking of safety temporal properties
Infer Practitioners
Radu Grigore Facebook
11:30
15m
Live Q&A
Q&A 3
Infer Practitioners