Tej Chajed joins the UW-Madison Computer Sciences department from a postdoctoral position at VMware Research. His research focus is systems verification, and he is “working on tools to make it easier to prove that a distributed system eventually makes progress and processes requests.” He was attracted to UW-Madison because of the people in the department – now his “fabulous colleagues” – and the city of Madison itself.
Educational/professional background: I got my undergrad degrees in Electrical Engineering and Computer Science at the University of Illinois, then my PhD from MIT, and finally did an industry postdoc at VMware Research.
How did you get into your field of research? I was looking for a new project after my first year in grad school, and there was a verified file system that my advisors and another student in the group were working on, and it looked interesting. I didn’t have any formal background in programming languages, but I was totally hooked by verification and have been doing it ever since.
What are your areas of focus? I work on systems verification
What main issue do you address or problem do you seek to solve in your work? I work on making software more reliable. I develop new systems – operating systems, file systems, and distributed systems for example – and then prove that these systems do what they’re supposed to in all situations. Most of my work is on advancing the state of formal verification so it can handle real systems and the properties we want them to have.
How would you explain your work to non-computer scientists? A lot of the software we rely on that runs in the cloud is distributed, meaning it runs on several computers working together. I’m currently working on tools to make it easier to prove that a distributed system eventually makes progress and processes requests. This is a surprisingly difficult problem in practice for real systems, where some of the trickiest errors take the form of the system getting stuck in a loop not making any progress.
What’s one thing you hope students who take a class with you will come away with? Especially because of my background in verification, I hope students better appreciate specifications, which are descriptions of what software is supposed to do. They’ll eventually be writing specifications, implementing them, and reading them in order to use other people’s software. This is generally a new mindset for CS students and I hope students take it with them to other classes and any work they do.
More broadly I hope students get excited about whatever subject I’m teaching and want to learn more.
What attracted you to UW-Madison? It was mostly the people, especially everyone I talked to in the department (who are now my fantastic colleagues), as well as Madison itself.
What was your first visit to campus like? My first visit was my interview, and before I even arrived I actually got stuck in the Detroit airport for several hours. Luckily after that things went smoothly, and I really enjoyed the place.
What are you looking forward to doing or experiencing in Madison? I’m planning to visit and try as many coffee shops and roasters as I can. I’m also looking forward to the outdoor activities, especially biking and sailing.
Do you feel your work relates in any way to the Wisconsin Idea? If so, please describe how. Software affects everyone. My research has the potential to prevent bugs in our most fundamental pieces of software. Better software would help nearly everyone, and verification as standard practice would affect software developers everywhere.
Hobbies/other interests: I’m super into coffee and board games.