Facebook on Thursday is unveiling a new tool it's developed to automatically generate fixes for identified bugs. The new tool, called SapFix, has been used to ship stable code updates to millions of devices using the Facebook Android app. Facebook says that to its knowledge, it's the first to use AI-powered testing and debugging tools in production at this scale.
Also: Has Alexa snapped? Why your Echo sometimes does creepy things
As SapFix is developed to work with different kinds of bugs and software, it has the potential to speed up quality code generation for a wide range of companies, Facebook said.
The new tool can run with or without Sapienz, another intelligent automated tool Facebook developed, which tests software and spots bugs. Facebook has been using SapFix to fix bus found by Sapienz before they reach production.
Also: Top 5: Things to know about AI TechRepublic
For high-firing bugs, Facebook explained, SapFix creates patches that either fully or partially revert the code submission that introduced them. For more complex crashes, SapFix draws from a collection of templated fixes to create patches. When that doesn't work, SapFix will attempt a mutation-based fix.
The tool generates multiple potential fixes per bug and evaluates their quality based on three factors: Are there compilation errors, does the crash persist, and does the fix introduce new crashes? Fully-tested patches are sent to a human reviewer for approval.
Also: OneDrive, Dropbox, Google Drive and Box: Which cloud storage? CNET
Once additional engineering work has been completed, Facebook intends to open source both Sapienz and SapFix.
The tech that changed us: 50 years of breakthroughs
Previous and related coverage:
What is AI? Everything you need to know
An executive guide to artificial intelligence, from machine learning and general AI to neural networks.
What is deep learning? Everything you need to know
The lowdown on deep learning: from how it relates to the wider field of machine learning through to how to get started with it.
What is machine learning? Everything you need to know
This guide explains what machine learning is, how it is related to artificial intelligence, how it works and why it matters.
What is cloud computing? Everything you need to know about
An introduction to cloud computing right from the basics up to IaaS and PaaS, hybrid, public, and private cloud.
What is 5G? Everything you need to know
It is a capital improvement project the size of the entire planet, replacing one wireless architecture created this century with another one that aims to lower energy consumption and maintenance costs. Sure, you'll download movies faster on your phone, but that's not the real reason 5G's arrival is being accelerated.