Ben Liblit

Associate Professor
Computer Sciences Department
University of Wisconsin–Madison
1210 West Dayton Street
Madison, WI 53706‒1685
USA

office:  6357 Computer Science Building
work +1 (608) 262‒6617
fax +1 (608) 262‒9777
crypto:  PEM, PGP

For Spring 2014 I am teaching CS 638-1: Software Engineering. This undergraduate course meets Tuesdays and Thursdays, 2:30 PM – 3:45 PM in room 1325 of the Computer Science building. This course counts as an advanced CS course in the hardware/software requirements group (3b) or as a CS elective.

Spring 2014 office hours are Thursdays, 11am – noon. Unscheduled drop-in visitors are also usually welcome. I am in room 6357 of the Computer Science building. Come on by and say hello!


I am an associate professor of computer science, specializing in software engineering and programming languages. My work in this area began with a pioneering four-year field study on the practice of programming. (That is, I was an actual grownup with a real job as a software engineer.) Today it is the challenges and needs of the professional programmer that inspire my research.

My research team:

Current Students

Former Students

Bug Isolation in an Imperfect World

How many times has your computer crashed this month? My current focus is on improving software quality in a world where bugs are a fact of life. I seek practical ways to use program analysis, machine learning, and other techniques to understand and fix bugs in the real world.

Statistical Debugging and Cooperative Bug Isolation

The Cooperative Bug Isolation Project is putting many of the above ideas to work in a large scale, real world deployment. When theory collides with practice, fun things happen.

Error Propagation

Other Bug Hunting

Languages for Scientific Computing

Your supercomputer is only as good as the code you’re running on it. As a member of the Titanium project I developed a formal basis for understanding the behavior of distributed data with applications in language design, algorithm development, programming, and optimization.

Odds and Ends

I’ve also written a few things about other facets of programming and program analysis.