Yesterday, Facebook launched Facebook Infer, which allows app developers to scan and identify mobile code bugs by scanning their programme. The static analyser automatically spots source code bugs without having to run the programme.
Facebook Infer is a static program analyser to identify bugs
In their blog post, the company said:
“We use Facebook Infer internally to analyze the main Facebook apps for Android and iOS (used by more than a billion people), 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 large percentage of app crashes.”
This ensures that developers only publish code which is fixed, resulting in an improved user experience. Bugs in apps usually require users to download an update, hence Facebook needs to identify issues before an app arrives on a user’s device.
Facebook uses Infer to mostly analyse on the Android and Objective-C code for its own apps, but has confirmed that developers may use Infer also on C projects and Java code. The company says it uses separation logic to spot issues. This allows Infer analysis “to reason about small, independent parts of the application storage, rather than having to consider the entirety of the memory potentially at every step. That would be a daunting task on modern processors with their large addressable virtual memories,” Facebook says.
Making Infer available to any developer means they won’t have to waste time on testing and fixing bugs, allowing them to focus on building more and better products in the future.