Speaker: Aharon Abadi

Title: An Investigation of the Plan Calculus as a Complete Intermediate Program Representation

Abstract
Modern compilers and development tools need to perform deep program analysis and transformations. The classical program representation for analysis and transformations is the control-flow graph (CFG). CFG-based analysis suffers from problems that come from the fact the CFG is a low-level representation and close to the code. Many program representations have been proposed in order to overcome CFG problems. These include static single assignment (SSA), the program dependence graph (PDG), after investigating these representations on variety of analysis algorithms  I will demonstrate that these representations suffer from some problems  as well and none gives a complete representation to develop both inter- and intra-procedural static analysis and transformations framework.

In this talk  I want to introduce  the plan calculus representation and as a complete  representation for an inter- and intra-procedural static analysis and transformations. The plan calculus directly expresses program semantics in terms of data flow and control flow and is therefore particularly convenient for machine manipulation. The plan calculus abstracts away from the particular syntax of the programming language, and expresses data flow and control flow directly.  In particular, control transfers and assignments are represented by the appropriate type of edges rather than by nodes. I  will demonstrate how the plan framework solved the classical representations problems and may be the next generation framework of modern static analysis and transformations tools.