PLINY: Software Tool Autocompletes & Autocorrects Code for Programmers

A Rice University-led team of software experts is working on creating a sophisticated tool called PLINY that will both 'autocomplete' and 'autocorrect' code for programmers, much like the software that completes search queries and corrects spelling on web browsers and smartphones. Funded by DARPA, PLINY is part of the agency's Mining and Understanding Software Enclaves 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. The team members say the effort will represent a significant advance in the way software is created, verified, and debugged. 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.



Transcript

00:00:00 [Music] the peny project advice spelled p l i n y is about taking all the available code in the world and putting it in a database imagine that the stack of papers represents all the code that we've been able to EMASS and it's not just a matter of putting the text of the code in the database we want to extract interesting features like fun functions

00:00:31 variables dependences and put them all in the database now that we have this terabytes of data our big code database the question is how can we use it to help programmers to write new code or to fix old code so here I'm representing this visually as a piece of paper a piece of code with a hole in it now what plini is going to do is that it's going to take this incomplete piece of code

00:01:01 and generate a query to the Pini database now the Pini database is now going to take this query and search this large Corpus of pre-existing Cod Snippets and not all of them are going to be good fits for the program that the programmer wrote eventually ceny will come back with something that's the best fit we see that the best fit is pretty good but it doesn't fit

00:01:29 exactly now what pen is going to do is just trim this piece of code this snippet retrieved from the database around the edges using sophisticated analysis techniques give it back to the programmer and here we see we have a result that fits what the programmer already wrote we have an exciting road ahead of us as we try to convert this

00:01:52 spleeny Vision into reality rice has been historically strong in programming languages and we now have a growing strength in big data and the exciting part about this project is that the two are really going to come together we have Partners from UT Austin from University of Wisconsin Madison and the grammar tech company and I see this as a dream team that is going to crack a

00:02:15 really important problem for the future of computer software [Music]