Facebook Launches ML-based Tool to Help Engineers in Coding

3103

Before Aroma, there were no prevailing tools in place that actually addressed the problem of searching massive codebases in an accurate and efficient manner

Facebook has launched a tool that leverages machine learning (ML) to provide code recommendations to engineers in order to help them in coding of ML-based tools, algorithms and applications.

The tool, developed by Facebook’s AI team, will allow the programmers to search through the huge codebases of sites such as Github. The tool would be highly useful in helping engineers to learn from each other, modify and extend code, avoid common mistakes and errors, and in performing quality checks.

Facebook’s code recommendation engine, named Aroma, can also conduct queries by utilising code snippets to discover similar uses of the same code somewhere else. This will provide engineers with a simple approach to see how other developers may have applied a specific bit of code in other projects.

Find exact matches of code snippet

Aroma, by leveraging ML, enables to find the exact matches of the code snippet as well as different iterations of it to ensure that no two recommendations are same to one another.

Before Aroma, there were no prevailing tools in place that actually addressed the problem of searching massive codebases in an accurate and efficient manner, Facebook’s AI team wrote in a blog post.

“Documentation tools are not always available and can be out of date, code search tools often return myriad matching results, and it is difficult to immediately find idiomatic usage patterns,” wrote Satish Chandra, Celeste Barnaby and Frank Luan, software engineers at Facebook, in the blog post.

“With Aroma, engineers can easily find common coding patterns without the need to manually go through dozens of code snippets, saving time and energy in their day-to-day development workflow,” they added.

In addition, the tool is language-agnostic and can identify a number of widespread languages such as Java, Python and Javascript, among others.