UPDATED 12:32 EDT / JUNE 11 2015

NEWS

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)

A message from John Furrier, co-founder of SiliconANGLE:

Your vote of support is important to us and it helps us keep the content FREE.

One click below supports our mission to provide free, deep, and relevant content.  

Join our community on YouTube

Join the community that includes more than 15,000 #CubeAlumni experts, including Amazon.com CEO Andy Jassy, Dell Technologies founder and CEO Michael Dell, Intel CEO Pat Gelsinger, and many more luminaries and experts.

“TheCUBE is an important partner to the industry. You guys really are a part of our events and we really appreciate you coming and I know people appreciate the content you create as well” – Andy Jassy

THANK YOU