Justin Hsu comes to UW-Madison exploring randomized algorithms and programming languages

By  Maeve Ryan

Justin Hsu, who joined the faculty in the University of Wisconsin-Madison’s Department of Computer Sciences in the fall of 2018, says that he’s researching programming languages and differential privacy, that is, “what it means for an algorithm to preserve privacy in a mathematical, formal sense that you can prove and reason about,” says Hsu, “These fields are traditionally considered to be quite different, but there are many interesting connections.”

While at UW, Hsu will continue his research on randomization. “In general, I’m interested in verifying properties of randomized algorithms—so this privacy definition only applies to programs that are randomized,” says Hsu. “These programs, to protect privacy, add some random noise to obscure individual records. I think these algorithms are very widespread in computer science, but we don’t really have good verification technology today to prove that they’re actually correct.”

Hsu first became interested in programming languages during his undergraduate studies at Stanford University. “I took a class that I was really interested in about a programming language called Haskell,” says Hsu, “and I thought it was very cool. I thought ‘Whoa! I didn’t know people could program like this,’ and I thought I should research that type of programming language.”

After graduating from Stanford in 2011, Hsu received his PhD from the University of Pennsylvania, where he researched differential privacy alongside Professor Aaron Roth and Professor Benjamin Pierce. “Before I arrived at Penn, Benjamin had worked on a programming language for verifying differential privacy,” says Hsu. “The idea was that you would write a program in this very small language, and the computer would check automatically whether your program was private or not.”

During his postdoctoral research at University College London and Cornell University, Hsu explored programming randomized network protocols. “In networking, there may be many reasons you want to use randomization,” he explains. “Maybe you want to flip a coin and send the traffic this way or another way to try and balance the loads so neither side gets too much of the traffic; this is one kind of classical use of randomization network trafficking.” According to Hsu, “There’s been very little work on verifying that these protocols are correct or satisfy certain properties. So Nate Foster and some other people at Cornell have been developing this language of writing randomized protocols. The questions are: How do we reason with these protocols? Or how do we prove that they satisfy certain good properties? Do they really balance the load? How do we get a computer to check that they satisfy certain things they should satisfy?”

Today, Hsu is eager to work in UW-Madison’s cooperative environment. Hsu says he was drawn in by “the strength and breadth of the computer sciences department, along with the collegial and collaborative atmosphere. UW-Madison was one of the biggest CS departments that I considered, but it somehow still seemed tightly knit.”

In the spring of 2018, Hsu is reviving CS 538: Introduction to the Theory and Design of Programming Languages, which hasn’t been offered in over ten years. “The field of programming languages has seen many significant developments since then, so I am working to rebuild the course from the ground up,” says Hsu. “I hope to give students the opportunity to learn Haskell and Rust, two recent, cutting-edge languages that are putting ideas from PL theory into practice.”

Hsu also hopes to foster critical thinking through CS 538: “My other goal is to teach students how to think about programming languages more broadly and to demonstrate how we can specify and design new languages.”

Hsu’s first visit to Madison was in the winter, so he experienced just how cold it can be. But since moving here, he’s been able to indulge his love of rock climbing and cooking with fresh ingredients from the Farmers’ Market.