Please log in to watch this conference skillscast.
Static analyzers are automated tools that spot bugs in source code by scanning programs without running them. They complement traditional dynamic testing: Where testing allows individual runs through a piece of software to be checked for correctness, static analysis allows multiple and sometimes even all flows to be checked at once. Infer is a static analyser that is used internally to analyse the main Facebook apps for Android and iOS, Facebook Messenger, and Instagram, among others. At present, the analyzer reports problems caused by null pointer access and resource and memory leaks, which cause a percentage of app crashes.
Each month, hundreds of potential bugs identified by Facebook Infer are fixed by our developers before they are committed to our codebases and deployed to people's phones. Facebook Infer is open source (http://fbinfer.com/) so you can use it yourself.
This talk will explore the basics of using Facebook Infer.
Facebook Infer: A static analyzer for catching bugs before you ship
Martino Luca is a software engineer in Facebook's London Engineering office, where he works on the Infer development team.