Skip Navigation

Colloquium Details

Deployed Software: An Ideal Environment for Fixing Bugs?

Author:Michael Bond University of Texas, Austin
Date:June 25, 2008
Time:15:30
Location:220 Deschutes
Host:Yannis Smaragdakis

Abstract

Despite extensive in-house testing, deployed software still contains bugs. These bugs cause systems to fail, wasting billions of dollars and sometimes causing injury or death. Bugs in deployed software are hard to diagnose and fix since they are environment dependent and difficult for developers to reproduce. Furthermore, developers cannot use heavyweight approaches that would degrade performance. This talk makes a case for deployment being the ideal environment for fixing bugs. Solutions fall into two categories: helping developers diagnose and fix bugs, and automatically tolerating bugs instead of letting systems fail. The talk focuses on memory leaks in managed languages--the lone memory bug not eliminated by modern languages--and presents an approach for diagnosing leaks, called Bell, and an approach for tolerating leaks, called Melt. Bell encodes per-object program locations into a single bit and uses brute-force decoding to recover likely program locations causing leaks. Melt puts likely leaked memory on disk and keeps time and memory resources proportional to in-use (not leaked) memory even in the face of growing leaks. The talk concludes with future work and thoughts about how software and hardware trends will make bugs a bigger problem and make deployment-time bug detection and tolerance even more appealing.

Biography

Michael Bond is a PhD student at UT Austin working with Prof. Kathryn McKinley. His research tries to help (1) programmers by diagnosing bugs and (2) users by automatically tolerating bugs in deployed systems. He'll be graduating and looking for academic jobs in spring 2009. http://www.cs.utexas.edu/~mikebond/