AI in programming: what’s next?

Marie Lopez B
Metabob
Published in
2 min readJun 12, 2020

There are a variety of AI tools that help programmers develop code. Whereas the main application of AI has been on assisting developers, the trend goes to AI writing code by itself (that is without the interaction of a programmer).

In December 2017, a paper was written by researchers from Oak Ridge National Laboratory where they suggest that Machine Learning, natural language processing, and AI will deeply transform programming by 2040. According to them and by that time, most code will be written by machines.

More and more companies are investing in AI programming. Currently, almost $20 billion are spent by companies on AI products and services annually.

Here are some examples of tools that develop code autonomously:

1. BAYOU is an AI application (developed by Rice University researchers) that can write Java code by itself thanks to deep learning. The goal of Bayou is “to use the user’s code and the query in order to generate the right program for the task” said Vijay Murali, BAYOU’s architect. So basically, you enter some keywords, and BAYOU will come up with code to help the developer complete the task.

2. Created by researchers from Microsoft and the University of Cambridge, DeepCoder helps developers to solve basic challenges in their code. This is done by searching and putting together lines of code through a database. Thanks to AI, the application learns from its actions to improve future problem-solving.

3. Ubisoft partnered with Mozilla to create Commit-Clever, an AI coding assistant that identifies buggy code. This is done on the basis of a huge library of past bugs, their corrections, and overall learnings.

4. SketchAdapt is a program-writing AI that can compose short programs. Created by Armando Solar-Lezama and Josh Tenenbaum (professors at CSAIL and MIT’s Center of Brains, Minds, and Machines), the program can differentiate between a symbolic reasoning mode and a statistical pattern-matching and change whenever needed. In addition to write programs by itself, SketchAdapt uses a second set of algorithms to fill in the details with sub-programs.

5. RobustFill, created by Microsoft, tries to make developing code more efficient. “It uses an attentional sequence-to-sequence neural network to generate the program based on input/output examples.” Developers show the program input and output examples and RobustFill then writes the code.

6. Metabob is similar to Clever-Commit developed by Microsoft and Mozilla. Metabob (created by Mahn Arc and NEC Laboratories) identifies code bugs and shows you where they are through a visual chart. The difference between those two programs is that Metabob shows you code suggestions to solve your bugs. It also makes suggestions for code improvements.

If you have other examples of how AI helps in programming, feel free to share them with us!

--

--