If Rice University computer scientists have their way, writing computer software could become as easy as searching the Internet. Two dozen computer scientists from Rice, the University of Texas-Austin, the University of Wisconsin-Madison and the company GrammaTech have joined forces to turn this promise into a reality.
With $11 million in DARPA-funding, the group will spend the next four years developing a tool called PLINY that will both “autocomplete” and “autocorrect” code.
The project is one of the so-called hard challenges that DARPA has identified.
As this article on the Rice University website explains, the tool will make predictive suggestions much like today’s Web browsers and smart phones offer to complete queries or fix misspellings.
“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.”
Adding further credence to the promise of this technology is whose funding it, the agency credited with inventing the Internet, cloud computing, virtual reality, autonomous vehicles and lots more in its 50 year history. The Defense Advanced Research Projects Agency (DARPA) is ponying up the money for this four-year effort as part of its Mining and Understanding Software Enclaves (MUSE) program. Hundreds of billions of lines of publicly available open-source computer code will be used to create a searchable database of properties, behaviors and vulnerabilities.
PLINY gets its name from the Roman naturalist who compiled the very first encyclopedia. At its core, PLINY will have a data-mining engine with access to an enormous repository of open-source code. The engine will utilize a mix of deep program analyses and big-data analytics to stand up a database that can be called on when a programmer needs help. Answers will be formulated based on Bayesian statistics. PLINY’s suggestion engine will proffer a range of solutions from the most to least probable.
The benefit to society from a tool like this is enormous. In the digital age, software undergirds nearly everything. With the impending death of Moore’s law, the performance onus shifts to software developers. Although this will affect HPCers first, it will eventually spread to the entire computing spectrum. Programmers of every stripe will need all the help they can get.