Rise of the Robots: Next for DARPA? ‘Autocomplete’ for Programmers

nextfordarpa

Writing computer programs could become as easy as searching the Internet. A Rice University-led team of software experts has launched an $11 million effort to create a sophisticated tool called PLINY that will both “autocomplete” and “autocorrect” code for programmers, much like the software to complete search queries and correct spelling on today’s Web browsers and smartphones.

“The engine will formulate answers using Bayesian statistics. Much like today’s spell-correction algorithms, it will deliver the most probable solution first, but programmers will be able to cycle through possible solutions if the first answer is incorrect.”

— Chris Jermaine, associate professor of computer science at Rice

“Imagine the power of having all the code that has ever been written in the past available to programmers at their fingertips as they write new code or fix old code,” said Vivek Sarkar, Rice’s E.D. Butcher Chair in Engineering, chair of the Department of Computer Science and the principal investigator (PI) on the PLINY project. “You can think of this as autocomplete for code, but in a far more sophisticated way.”

retro-computer-kitchen-dream

Sarkar said the four-year effort is funded by the Defense Advanced Research Projects Agency (DARPA). PLINY, which draws its name from the Roman naturalist who authored the first encyclopedia, will involve more than two dozen computer scientists from Rice, the University of Texas-Austin, the University of Wisconsin-Madison and the company GrammaTech.

“Imagine the power of having all the code that has ever been written in the past available to programmers at their fingertips as they write new code or fix old code. You can think of this as autocomplete for code, but in a far more sophisticated way.”

— Vivek Sarkar, Rice’s E.D. Butcher Chair in Engineering

PLINY is part of DARPA’s Mining and Understanding Software Enclaves (MUSE) program, an initiative that seeks to gather hundreds of billions of lines of publicly available open-source computer code and to mine that code to create a searchable database of properties, behaviors and vulnerabilities.

Rice team members say the effort will represent a significant advance in the way software is created, verified and debugged.

computer lab

“Software today is far more complex than it was 20 years ago, yet it is still largely created by hand, one line of code at a time. We envision a system where the programmer writes a few of lines of code, hits a button and the rest of the code appears. And not only that, the rest of the code should work seamlessly with the code that’s already been written.”

— Swarat Chaudhuri, assistant professor of computer science at Rice

He said PLINY will need to be sophisticated enough to recognize and match similar patterns regardless of differences in programming languages and code specifications. The system will have to explore different ways of interweaving code retrieved through search into a programmer’s partially completed draft program and analyze the resulting code to make sure that it does not have bugs or security flaws.

[Explore further: MUSE envisions mining “big code” to improve software reliability and construction]

The core of the system will be a data-mining engine that continuously scans the massive repository of open-source code. The engine will leverage the latest techniques in deep program analyses and big-data analytics to populate and refine a database that can be queried whenever a programmer needs help finishing or debugging a piece of code.

“The engine will formulate answers using Bayesian statistics…(read more)

phys.org


3 Comments on “Rise of the Robots: Next for DARPA? ‘Autocomplete’ for Programmers”

  1. […] The Butcher Writing computer programs could become as easy as searching the Internet. A Rice University-led […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.