As of 2008, I am a graduate student at the University of Virginia. I am pursuing my PhD in Computer Science, with the goal of working in research after graduating. At the moment, I am working concurrently with two professors, Kim Hazelwood and Wes Weimer.
With Wes, I am working on an analysis of bugs and their fixes in an effort to find defining characteristics, as well as characteristics that provide predictive power. In other words, I want to discover the characteristics of a bug or its fix that make it different from other bugs, and how many characteristics there are. Does a bug that has to do with bounds checking an array have similar characteristics in the time and effort and complexity to fix as a null pointer exception? If we want to analyze a thorough sampling of bugs, what styles of bugs are important to deal with?
Kim and I are working on modifying a Pin tool that checks memory accesses. The tool checks to make sure that memory is initialized before it is accessed. However, this tool dramatically slows down the execution of the instrumented code. We are working on a potential optimization that would involve fewer checks when running through loops.