We develop a new framework for analyzing recursive methods that perform traversals over trees, called tree dependence analysis. This analysis translates dependence analysis techniques for regular programs to the irregular space, identifying the structure of dependences within a recursive method that traverses trees. We develop a dependence test that exploits the dependence structure of such programs, and can prove that several locality- and parallelism-enhancing transformations are legal. In addition, we extend our analysis with a novel path-dependent, conditional analysis to refine the dependence test and prove the legality of transformations for a wider range of algorithms. We then use these analyses to show that several common algorithms that manipulate trees recursively are amenable to several locality- and parallelism enhancing transformations. This work shows that classical dependence analysis techniques, which have largely been confined to nested loops over array data structures, can be extended and translated to work for complex, recursive programs that operate over pointer-based data structures.
Tue 16 JunDisplayed time zone: Tijuana, Baja California change
14:00 - 15:40 | AnalysisResearch Papers at PLDI Main BLUE (Portland 254-255) Chair(s): Yannis Smaragdakis University of Athens | ||
14:00 25mTalk | DAG Inlining: A Decision Procedure for Reachability-Modulo-Theories in Hierarchical Programs Research Papers Media Attached File Attached | ||
14:25 25mTalk | Exploring and Enforcing Security Guarantees via Program Dependence Graphs Research Papers Andrew Johnson Harvard University, Lucas Waye Harvard University, Scott Moore Harvard University, Stephen Chong Harvard University Media Attached | ||
14:50 25mTalk | Making Numerical Program Analysis Fast Research Papers Media Attached | ||
15:15 25mTalk | Tree Dependence Analysis Research Papers Yusheng Weijiang Purdue University, Shruthi Balakrishna Purdue University, Jianqiao Liu Purdue University, Milind Kulkarni Purdue University Media Attached |