Without any prior information or clue, Facebook has built and launched its all new artificial intelligence debug tool called ‘SapFix’. The tool is said to reduce the workload and time that software engineers spend on debugging. This also speeds up the process of rolling out new updates and software.
Facebook said that SapFix is capable of generating fixes for specific bugs and reporting them to the engineers for approval or modification.
Even right now, SapFix has been actively used to speed up the process of shipping stable code updates to millions of android devices using the Facebook app. Facebook has also said that it is now intended to share SapFix with the engineering community and seeing automatic debugging evolve to the next level.
Facebook also stated that SapFix operates as an individual tool and is able to run with our without, Sapienz, which is Facebook’s automated software testing tool.
The concept stated that SapFix is focused toward fixing bugs identified by Sapienz before they even reach production. When Sapienz along with Facebook’s Infer static analysis tool localize a point in code that requires a patch or fix, it is passed to SapFix, which automatically picks a strategy or strategies to generate a patch.
In cases of complex fixes, the tool harvests templates from those created by human engineers while fixing past bugs. Even if SapFix is able to generate a fix, its work is not over yet. The tool generates few other potential fixes and evaluates their quality for 3 issues – compilation errors, if the crash persists and if the new fix introduces new crashes.
If there are any new problems found, SapFix runs already existing developer-written tests and as well as Sapienz tests on the patched build.
When SapFix fully tests the patch, it then sends it to human review for approval.