My research interests have focused on programming languages and program analysis, although I am now becoming quite interested in techniques that enable programs to continue to execute through errors. I'm also interested in how many/what kind of errors a program can tolerate and still function successfully.