Celebrating our graduates: Carl Zhang on to Stanford

5/14/2020

Jenny Applequist, CSL

As far as final semesters go, Spring 2020 has been unprecedented. While the traditional graduation ceremony and many of the celebrations that go along with it may have been canceled, we want to recognize what our graduating students have contributed to research during their time at CSL and celebrate their future plans.

The COVID-19 pandemic has thrown Illinois students’ lives into turmoil—and it’s been especially challenging for students who are now graduating, and looking forward to an uncertain future. One such student is Haoyang “Carl” Zhang, who is
An explanation of code Zhang wrote as part of his coursework.
An explanation of code Zhang wrote as part of his coursework.
completing a BS in Computer Engineering and preparing to start graduate school at Stanford. In recent months, he’s been working on an undergraduate thesis under the guidance of CSL professor Steve Lumetta.

As part of that work, Zhang wrote a program that automatically translates code written in the IA-32 assembly language into the language of the LLVM compiler infrastructure. The goal: to take IA-32 programs written by students in ECE 391 for a machine problem assignment, and translate them into a form that the instructors can assess automatically and more effectively.

Zhang explains that his program’s translation makes it possible to give students better feedback.

“The traditional method of testing code is by assigning a set of test cases and [running them],” he says. However, “you often miss a lot of bugs, so there’s a problem with fair grading. Also, students don’t get much feedback from a failed test case, because all you get is that you know you failed the test—no further information on where it went wrong.”

Zhang’s program was designed to offer a better solution. After the assembly code has been converted by his program into LLVM, it can be fed into a tool that can test the code automatically and much more informatively. “We’re able to actively explore different execution paths... and if something goes wrong, we can identify, specifically, in which scenario what went wrong. That information can be great feedback for students and can be more helpful than test cases.”

As a junior, Zhang took CS 425 (Distributed Systems), and found the topic fascinating. He remains very interested in systems in general, and expects he’ll continue pursuing research in that field. He’s supposed to begin Master’s work at Stanford this September, but doesn’t know yet whether their Fall semester will be impacted by the pandemic.

He had hoped to spend this summer traveling, but since COVID-19 intervened, he expects to continue working with Prof. Lumetta until he heads to Stanford.

His family was disappointed that he won’t be participating in graduation ceremonies. “I am from China, and my parents already applied and got the U.S. visas for this travel, so they were all ready and excited. My mom has never been to the U.S., so she was looking forward to this—but it’s not going to happen. It’s disappointing.”

For himself, he’s philosophical about missing Commencement. “I think that the ceremony is sort of a ritual thing that signifies that I completed the four years of my college life,” he says. “But personally I think I actually got a lot out of my college life, so even without this ceremony, I am content.”

When asked if he has words of wisdom for Illinois students continuing to pursue studies during the pandemic, Zhang says, “I think just hang in there! Things are going to be fine. It’s a pretty difficult situation, but it’s not permanent. Things will get better. Just keep working on what you’re doing. Just hang in there!”