Look out bugs: Facebook Infer, bug hunting software, is now open source
Today Facebook, Inc. announced the open source release of Facebook Infer, the company’s static program analyzer used to shake out bugs in mobile code before it’s shipped.
A static analyzer is a piece of software used to compliment dynamic testing, which tests correctness on individuals runs, by providing the capability of testing multiple multiple flows through software at once. Thus a static program analyzer can shorten the time needed to detect potential bugs and flaws.
“Facebook Infer uses mathematical logic to do symbolic reasoning about program execution, approximating some of the reasoning a human might do when looking at a program,” the company wrote in a blog post for the announcement today.
The company says that it uses Infer to test mobile applications including for Android and iOS, Facebook Messenger, Instagram, and other apps. The software is capable of detecting and reporting all problems rising from null pointer access and resource and memory leaks, which cause a large percentage of app crashes.
Facebook says that every month Infer discovers hundreds of potential bugs before committed code is shipped to customers’ phones. Thus saving hours of work for developers; and headaches for clients.
Readers interested in learning more about Facebook Infer or utilizing the codebase can find out more through the GitHub repository for the project.
A nanny for committed code
Facebook Infer allows Facebook to move quickly when it comes to moving code from development, through testing, and to production. Since Facebook tries to keep a very short cycle time for function releases and needs to keep a low rate of errors, something needed to be developed that could keep up with the pace that modern mobile applications require.
As a result, Facebook developed Infer to function behind and between the scenes by scanning new code committed to test environments for automated checking before release during the commitment lifecycle.
To integrate smoothly with development, Facebook says, Infer works incrementally as developers commit bits of code to the codebase by scanning against the full mobile product during the review process. The software then automatically writes comments into the source code when potential problems are discovered (rather like an automated editor with a red pen, but for code jockeys.)
According to Facebook, the reported fix rate for issues reported by Infer has hovered around 80%, which the company says it’s an extremely high rate for such an automated tool.
In the current development model Facebook uses Infer for Android and Objective-C code for mobile apps, but it is capable of analyzing C and Java code not on Android platforms as well.
Further information is available via the blog post about the Facebook Infer open source announcement as well as the GitHub repository.
photo credit: Cercopsis vulnerata via photopin (license)
Since you’re here …
… We’d like to tell you about our mission and how you can help us fulfill it. SiliconANGLE Media Inc.’s business model is based on the intrinsic value of the content, not advertising. Unlike many online publications, we don’t have a paywall or run banner advertising, because we want to keep our journalism open, without influence or the need to chase traffic.The journalism, reporting and commentary on SiliconANGLE — along with live, unscripted video from our Silicon Valley studio and globe-trotting video teams at theCUBE — take a lot of hard work, time and money. Keeping the quality high requires the support of sponsors who are aligned with our vision of ad-free journalism content.
If you like the reporting, video interviews and other ad-free content here, please take a moment to check out a sample of the video content supported by our sponsors, tweet your support, and keep coming back to SiliconANGLE.
