CCIS student’s research brings him to Oxford conference

By Julia Renner

Professor Olin Shivers describes William Meehan and Milo Davis as the most aggressively curious students in his freshman-year logic and computation course. He can tell when students are enthusiastic about the material he’s teaching, he says, “so it wasn’t a big surprise for me at the end of the semester when they both independently approached me and said they were interested in doing research projects with me.” Their work recently paid off as the paper they produced was accepted to the International Conference on Functional Programming in September.

Shivers hired the two as a team for the summer. By the end of the summer, he says, the two were adapting proofs from graduate-level texts and reading research papers that they had tracked down on their own. “Research is hard,” he says, but “you and your partner can help pull each other through the places when you don’t really know what to do.” Working with them, he said, was “a lot of fun, because they were very interested in the problem.”

Meehan and Davis worked on “a new algorithm for converting code from a functional language into a convenient intermediate form called continuation-passing style, or CPS,” Meehan explains. “The form has several good properties that make it useful for compilers, such as giving every value a named variable, but older algorithms introduce unnecessary pieces of code in order to keep the output from growing too large. We first proved that our term-rewriting system would eventually produce a smallest possible piece of code without changing the meaning, and then proved that the algorithm produced the same result as using an older algorithm and running it through the rewriting system.”

They produced a research paper based on their results, and spent the better part of a year and a half perfecting it. The final product was accepted into the International Conference on Functional Programming, the top conference in functional programming. Davis traveled to Oxford in September to present the paper, where he was the rare undergraduate surrounded by doctoral students and professors. “Ultimately, the presentation in Oxford was the culmination of two years of work and I am incredibly proud of what I’ve achieved and what I’ve learned in that span,” he says. “This paper taught me a lot of skills that I’ve used on co-op, for classes, and for my own project. It’s been a life-changing experience and exposed me to so many things I never considered.  Going to Oxford was the icing on the cake.”

“Doing research was a definite adjustment!” Meehan says, from undergraduate-level coursework. “The most challenging part was keeping myself motivated over long periods without any breakthroughs. Because I was doing investigative work, a lot of my ideas didn’t work out the first time. The most rewarding part was when all of the logic started to come together.”

Davis agrees: “This research project could be fairly described as the hardest thing I’ve ever done. There are a lot of skills required to do research, from understanding how to read a paper to typesetting to proof techniques. Professor Shivers chose a project that was largely self-contained and limited in scope, but there was a lot of overhead to understanding what he wanted us to do. It took me a long time to understand the first set of proofs we were building off of, but when I did, it felt amazing. Proving the properties of the algorithm took a long time, but when I finally got it, it was fantastic.”

All of this was made possible through the Finkelstein Innovation Fund, named for prior CCIS dean Larry Finkelstin and administered through the College of Computer and Information Science. The fund made it possible for William and Milo to do a deep dive into their project over the summer. “They bootstrapped up pretty fast because they were able to do it full-time,” says Professor Shivers.  The funds are made available through the generosity of donors to the College of Computer and Information Science.

Professor Shivers encourages students who are interested in getting involved in research to reach out to professors. “What they really are looking for are motivated, interested students,” he says. “Professors look for students who will run with the ball, who have the commitment and proactivity and independence to go seek out those opportunities.”