This week, Cong is presenting his work on synthesizing program inverses at the 21st International Conference on Compiler Construction (CC) 2012, in Talinn, Estonia. A program inverse enables speculative parallelization, but also has applications in program debugging and software engineering (e.g., automatically creating “undo” functionality). His paper describes new compiler-based analysis and transformation techniques for the problem, specifically by introducing two new intermediate program representations: a value search graph, which extends single static assignment form to convert the synthesis problem into a graph search problem, and a route graph, which is a subset of the VSG that represents an inverse. Read the gory details below.
- Cong Hou, George Vulov, Daniel Quinlan, David Jefferson, Richard Fujimoto, Richard Vuduc. “A new method for program inversion.” In Proc. 21st Int’l. Conf. Compiler Construction (CC’12), Talinn, Estonia, March 2012. [PDF]