Despite the best efforts of programmers and programming systems researchers, software bugs continue to be problematic. This talk will focus on a new framework for performing dynamic (runtime) parallel program analysis. Existing dynamic analysis tools have focused on monitoring sequential programs. Parallel programs are susceptible to a wider range of possible errors than sequential programs, making them even more in need of online monitoring. Unfortunately, monitoring parallel applications is difficult due to inter-thread data dependences and relaxed memory consistency models.
I will present dataflow-analysis-based dynamic parallel monitoring, a novel software framework that avoids these pitfalls without relying on strong consistency models or detailed inter-thread dependence tracking. Using insights from dataflow analysis, my frameworks enable parallel applications to be monitored concurrently without capturing a total order of application instructions across parallel threads. I have shown that my frameworks are provably guaranteed to never miss an error and sacrifice precision only due to the lack of a relative ordering among recent events, and will present experimental results on performance and precision from my implementations.
Michelle Goodstein is a PhD Candidate at Carnegie Mellon University, where she is advised by Prof. Todd Mowry. Her work focuses on enabling dynamic monitoring of parallel applications to detect bugs and security exploits. She is interested in developing new theoretically sound frameworks to tackle important systems problems, with a particular emphasis on parallel processing and sophisticated code analysis. Michelle attended the University of Washington for her undergraduate work, where she majored in Mathematics and Computer Science. Michelle is a recipient of a Clare Booth Luce Graduate Fellowship and an Intel PhD Fellowship.