Facebook has announced that it’s open-sourcing Infer, a code verification tool used to identify buggy mobile code before it ships. The social network giant procured Infer as part of a deal to acquire “certain assets” of London-based Monoidics back in 2013, with the team joining Facebook in the process.
Static program analysis entails carrying out analysis of software — usually in an automated way — to quickly identify a problem that may lead to an app crashing, for example. Automation is key here, given that there can be millions of lines of code to sift through, which could take an eternity if performed manually. It’s all about letting programmers build code without spending too much time testing for bugs.
Facebook is well-known for its “move fast and break things” mantra, which is fine when coding for the Web. If a bug is identified on a website, it can be updated instantly. In a mobile app, however, a user is required to physically update it to receive the fix, which is why Facebook uses a static program analyzer, or “bug bot,” on its mobile apps, including Facebook itself, Messenger, and Instagram. It basically identifies many bugs while still allowing Facebook to “move fast.”
Other big tech companies have been pushing the open-source agenda of late too. Back in January, Microsoft revealed it was open-sourcing Worldwide Telescope (WWT), an online computer program that displays outer space using images from the Hubble Space Telescope. Shortly after, it acquired Revolution Analytics, a provider of commercial services for open-source project R. Last year, Microsoft revealed it would open-source its software framework .NET and release it on GitHub.
By offering Infer up to the wider development community to tinker with, Facebook is basically looking to improve the efficacy of the tool. As things stand, Infer can be run on Java, C, or Objective-C code, but “more is possible,” the company said. “With your help, we hope to expand the places where Facebook Infer is deployed.”