Refactoring for Reentrancy
Speaker: Manu Sridharan, IBM
Location: Warren Weaver Hall 1302
Date: October 16, 2009, 11:30 a.m.
Host: Clark Barrett
With the multicore era upon us, there is a critical need for tools to help modify legacy code to run efficiently on multicore machines. One key hindrance to such a migration is a lack of reentrancy in legacy single-threaded applications, which makes exploiting even embarrassing parallelism difficult. We have developed a mostly-automated refactoring that makes such programs reentrant by replacing global state with thread-local state and performing each execution in a fresh thread. Our approach has the key advantage of yielding a program that is obviously safe for parallel execution; the program can then be optimized selectively for better performance. We implemented this refactoring in Reentrancer, a practical Eclipse-based tool, and showed that it is able to eliminate reentrancy problems and enable multicore speedups. In this talk, I will present Reentrancer in detail and discuss further challenges in making legacy code scale on multicores.
Manu Sridharan has been a research staff member at IBM T.J. Watson Research Center since 2008. He received his PhD from the University of California, Berkeley in 2007, and his dissertation work focused on refinement-based program analysis tools. He has done research on a variety of topics in static analysis, dynamic analysis, and software engineering. His current projects include work on symbolic analysis, security, and refactoring for multicores.
In-person attendance only available to those with active NYU ID cards. All individuals must show the Daily Screener green pass in order to gain entry to the building.