Achieving Reliability in Deployed Software Systems
Michael Bond
University of Texas, Austin
SWS Colloquium
Michael D. Bond is a postdoctoral fellow in Computer Science at UT Austin.
He received his PhD from UT Austin in December 2008, supervised by Kathryn
S. McKinley. His research makes software more robust by using dynamic
analysis to diagnose and tolerate unexpected errors. Michael's interests
include programming languages, runtime systems, compilers, and security.
His dissertation received the 2008 ACM SIGPLAN Outstanding Doctoral
Dissertation Award.
Software is becoming more complex and concurrent due to demand for
features and hardware trends that are leading to more instead of faster
cores. In the face of these challenges, developers have trouble writing
large, correct, scalable programs. Deployed software inevitably contains
bugs, even if it has been thoroughly tested, because it is infeasible to
analyze and test all possible inputs, environments, and thread schedules.
My research focuses on improving reliability while production software
runs, to help prevent, diagnose, and tolerate errors that actually
manifest in deployment.
This talk first presents Pacer, a deployable, scalable approach for
detecting data races, which are a common and serious type of concurrency
bug. Second, I describe techniques for efficiently reporting the calling
context (stack trace) of concurrency and other bugs -- essential
information for understanding the behavior of complex, modern programs. I
conclude with my future plans for developing new analyses and frameworks
that make concurrent software reliable.