by Peter Grad , Tech Xplore
Computer programmers may soon design the ultimate program: A program that designs programs.
Last week, a team led by Justin Gottschlich, director of the machine programming research group at Intel, announced the creation of a new machine learning system that designs its own code. They call the system MISIM, Machine Inferred Code Similarity.
Gottschlich explained, "Intel's ultimate goal for machine programming is to democratize the creation of software. When fully realized, machine programming will enable everyone to create software by expressing their intention in whatever fashion that's best for them, whether that's code, natural language or something else. That's an audacious goal, and while there's much more work to be done, MISIM is a solid step toward it."
The system analyzes a snippet of code and, because it can "understand" what the code is trying to accomplish, it seeks out code from its repository and searches for code designed for similar tasks. It can then offer suggestions for faster or more effective coding to achieve the same task.
John Carmack, the brilliant computer programmer responsible for such games as Wolfenstein 3-D, Doom, and Quake, recently observed that despite so much progress in numerous areas of machine programming, the field of automatic computer-generated code had not always been a priority.
"I used to say that AI research seemed to have an odd blind spot towards automation of programming work, and I suspected a subconscious self-preservation bias. The recent, almost accidental, discovery that GPT-3 can sort of write code does generate a slight shiver."
He was referring to the recently unveiled Generative Pretrained Transformer 3—GPT-3 for short—that, like MISIM, has successfully created code in multiple programming languages. The artificial intelligence laboratory OpenAI has been making significant inroads with machine learning models such as GPT-3. It was trained with a repository of 175 billion parameters and is capable of generating code from simple non-technical instructions. Instructed to design "a button that looks like a watermelon," for example, GPT-3 generated HTML code for a web page presentation, complete with an interactive watermelon prompt.
GPT-3's capacity to write in numerous programming languages is of particular interest to institutions relying on aging computer systems built on programming that is nearly obsolete. Some U.S. government agencies have computer systems designed decades ago.
The team behind MISIM includes researchers from Intel, the Massachusetts Institute of Technology and the Georgia Institute of Technology.
MISIM is not the first system to compare code snippets, but its creators say its accuracy rate was up to 40 times that of its nearest competitors.
Veselin Raychev, CTO at the Swiss-based company DeepCode, said that machine learning poses an exciting step forward in streamlining tremendously time-consuming bug-detection processes. DeepCode specializes in advanced bug-detection software. But, Raychev says, machine learning generates too many false positives.
"Practically they're not there yet," he said, "by a very big margin."
One reason for false positives is that AI is not good at spotting bugs unless they have been defined as such. But the MISIM system does not rely on such definitions. Instead, by comparing a new program with code previously established as correct, it can raise a flag when significant differences, which could be errors, are detected.
As MISIM matures and broadens its ability to translate plain English instructions into programming code, Gottschlich says, everyone will be able to design their own programs.
"Building little apps for your phone, or things like that that will help your everyday life—I think those are not too far off," Gottschlich said. "I would like to see 8 billion people create software in whatever way is most natural for them."