Computer Science

Aditya Thakur and Cindy Rubio Gonzalez receive 2019 Facebook Probability and Programming Research award

uc davis computer science facebook probability programming thakur rubio

Assistant professors Cindy Rubio Gonzalez (left) and Aditya Thakur (right) are inaugural recipients of Facebook’s Probability and Programming award. Photos: Jason Spyres/UC Davis and Reeta Asmai/UC Davis.

May 20, 2019

By Noah Pflueger-Peters

Assistant professors Aditya Thakur and Cindy Rubio Gonzalez’s proposal, “Code Embeddings for Bug Finding” received a 2019 Facebook Probability and Programming Research award. The award, launched in January 2019, funds research that combines traditional programming languages with newer techniques such as machine learning, natural language processing and big data.

“This will be a great opportunity to establish a relationship with industry,” said Rubio. “This also opens opportunities for our students to either intern or go and work at Facebook when they complete their degrees.”

Error-handling code dictates what a program should do if it encounters an error during execution. Programming error-handling code is an exercise in thinking about everything that could go wrong. It’s hard to predict every possible error, and even harder to figure what to do when an error does occur. Since this code is not executed very much, bugs aren’t seen that often. However, when they are, they can be disastrous and lead to crashes and data loss.

The project combines the latest advances in program analysis with those from machine learning and natural language processing. Though apples and oranges are different objects, humans associate and categorize them together as fruit. The trick is to train a machine to do the same thing using a large body of text. If an algorithm can “read” code to learn relationships between error handling across different pieces of code, it can identify errors without actually having to run it.

Thakur and Rubio will look specifically at automatically finding error-handling bugs in low-level programming languages such as C, which is used to develop critical software systems like the Linux kernel.

“People appreciate how complicated it is to build a skyscraper or a bridge,” said Thakur, “but not everyone appreciates how complicated it is to build reliable software.”

For Thakur and Rubio, the proposal builds on each of their experience in program analysis, code verification and bug finding. This is Thakur’s second award from Facebook, as he won a Testing and Verification award last fall.

The proposal was one of ten winners selected from 66 submissions. Their colleague professor Prem Devanbu’s proposal, “Meeting the Social Challenges in Static Analysis Tools,” was named a runner-up.

As part of the award, they will attend Facebook’s workshop at the annual Programming Languages Enthusiasts Mind Meld (PLEMM) in Seattle on September 17-19, where they will network with both Facebook researchers and the other award winners.

Read more about the Probability and Programming awards at Facebook Research.

border