homehome Home chatchat Notifications


Facebook's new AI can translate from one programming language to another

This could save billions of dollars and years of work.

Mihai Andrei
June 18, 2020 @ 2:35 pm

share Share

Translating from one language to another is not just a nuisance. The Commonwealth Bank of Australia spent 5 years and a whopping $750 million to convert the code on their platform from COBOL (a programming language first developed over 50 years ago) to Java.

This is hardly an exception. Worldwide, 95% of ATM swipes and 80% of in-person transactions use COBOL, and much scientific and industrial research is still done in Fortran, another legacy programming language.

A surprisingly large part of the data in our day to day lives is based on old programming languages, and translating them to newer and more efficient languages is extremely expensive and time-consuming.

This is where Facebook’s AI comes in.

Example. Credits: Lachaux et al.

According to a new paper, researchers have developed a transcompiler — a system that converts source code from a high-level programming language (such as C++ or Python) to another. When done by humans, this migration is challenging and time-consuming as it requires extensive knowledge in both languages. But if you could train an algorithm to do that for you, you’d save a lot of time and resources.

Facebook researchers trained the new Artificial Intelligence (AI) on open source GitHub projects. The AI is unsupervised, so it learns on its own, mostly by looking for patterns in datasets. It requires a minimal amount of human supervision and expertise.

The TransCoder (as the AI was called) was trained on 2.8 million open source repositories, targeting translation at the function level. The AI started by looking for common keywords like “for,” “while,” “if,” and “try” and also digits, mathematical operators, and common English words or strings that appear in the source code. After the initial training period, the algorithm also undergoes a process of denoising and back-translating components (which was only done on functions).

This is not the first time something like this was attempted — several translation algorithms have already been developed, but Facebook engineers say this AI outperforms them by a ‘significant’ margin.

The results weren’t perfect. The TransCoder was tested on 852 parallel functions in all the 3 languages, exhibiting remarkable (but not perfect) accuracy. When translating from C++ to Java, 74.8% of the functions returned the expected output. From C++ to Python, the figure was 67.2%. The highest accuracy was obtained when translating from Java to C++ (91.6%), and the lowest was obtained from Python to Java (56.1%).

So it’s still not exactly perfect, but the approach has promise — and to make things even better, it can be easily adapted to a number of different programming languages with ease.

“TransCoder can easily be generalized to any programming language, does not require any expert knowledge, and outperforms commercial solutions by a large margin,” the coauthors wrote. “Our results suggest that a lot of mistakes made by the model could easily be fixed.”

While the algorithm hasn’t yet been adapted to languages such as COBOL, it’s only one step away. A quick and cheap revolution could finally be coming to out ATMs.

share Share

Archaeologists May Have Found Odysseus’ Sanctuary on Ithaca

A new discovery ties myth to place, revealing centuries of cult worship and civic ritual.

The World’s Largest Sand Battery Just Went Online in Finland. It could change renewable energy

This sand battery system can store 1,000 megawatt-hours of heat for weeks at a time.

A Hidden Staircase in a French Church Just Led Archaeologists Into the Middle Ages

They pulled up a church floor and found a staircase that led to 1500 years of history.

The World’s Largest Camera Is About to Change Astronomy Forever

A new telescope camera promises a 10-year, 3.2-billion-pixel journey through the southern sky.

AI 'Reanimated' a Murder Victim Back to Life to Speak in Court (And Raises Ethical Quandaries)

AI avatars of dead people are teaching courses and testifying in court. Even with the best of intentions, the emerging practice of AI ‘reanimations’ is an ethical quagmire.

This Rare Viking Burial of a Woman and Her Dog Shows That Grief and Love Haven’t Changed in a Thousand Years

The power of loyalty, in this life and the next.

This EV Battery Charges in 18 Seconds and It’s Already Street Legal

RML’s VarEVolt battery is blazing a trail for ultra-fast EV charging and hypercar performance.

DARPA Just Beamed Power Over 5 Miles Using Lasers and Used It To Make Popcorn

A record-breaking laser beam could redefine how we send power to the world's hardest places.

Why Do Some Birds Sing More at Dawn? It's More About Social Behavior Than The Environment

Study suggests birdsong patterns are driven more by social needs than acoustics.

Nonproducing Oil Wells May Be Emitting 7 Times More Methane Than We Thought

A study measured methane flow from more than 450 nonproducing wells across Canada, but thousands more remain unevaluated.