Will DARPA Get Computers to Start Writing Their Own Code?

What if computers could look at the expansive amount of existing computer code and learn from it? Could these computers then make future code more secure and less buggy?

This is the goal of Pliny, the result of a four year $11 million dollar grant created by the US Department of Defense and DARPA (Defense Advanced Research Projects Agency). Pliny will act as an autocomplete and/or autocorrect system for computer scientists and computer engineers.

The Pliny system will be able to determine areas of a code that differ from those in its repository. If the code differs from the repository’s billions of lines of code then it will typically be a mistake or an intentional choice. By highlighting such regions, Pliny will help software engineers make an informed decision whether to fix or keep the differing code.

Alternatively, Pliny will be able to search your own code and find code in the repository that will best fit the gaps in your program.

The DARPA grant will fund computer experts from the University of Texas at Austin, University of Wisconsin-Madison (UW-Madison), and project leads at Rice University in Houston. Computer Company GrammaTech will also take part in the project.

Professor Ben Liblit from UW-Madison said, "Based on knowing how people use English, autocomplete tries to make a best guess about what you're going to type. Similarly, there's a vast amount of software out there in the world, and what you're writing (as a software engineer) probably looks similar to what other people have written."

Pliny will focus on the emerging science of big data and more classical computer science. The data-mining backbone of Pliny scans the repository of code while using computer science, so that the “programming languages know how to look at code and treat it as data," says Liblit.

Liblit mentioned that though software can be perceived as a rigid process, there are typically multiple ways to produce the same solution. Alternatively, there are approaches that are known not to work. Pliny will help to highlight cases where the code developer is in error. With any luck, code will be produced faster and with less security vulnerabilities or bugs.

The DARPA grant is part of their Mining and Understanding Software Enclaves (MUSE) program. MUSE is designed to find open-source code and create databases of code properties, vulnerabilities and behaviours.

Though Pliny and MUSE are interesting, it makes one wonder: how many coders will be willing to trust a computer to program?

Additionally, a technology capable of scanning vast amounts of code for common bugs and security risks could be disastrous in the wrong hands. Will Pliny lead to black-hats exploiting more and more computer bugs like Heartbleed? Or will Pliny raise the general bar for coding making hacking more difficult by correcting the security bugs before they are an issue? What do you think?

In any case, both Pliny and Muse are momentous undertakings, and it will be interesting to see where they go from here.

Source University of Wisconsin-Madison.