Proposal by Santiago Bragagnolo for Concrete Type Inference -- Call graph

Proposed by Santiago Bragagnolo (profile, biography) Don't forget to submit this proposal to official Google Melange site too!

How will I do that project

      Well, I am currently analyzing the product of the thesis on which the project is based. 

      First at all i need to enhance the inference allowing complex expressions (there´s no use in a call graph  of simple expressions).

      Then, im going to integrate every step of execution-emulation with a meta data structure (probably magritte3). 

      Finally, with a call graph ensambled, the next step is make a graph-configurable-visitor that collect information based in a given criteria.

What methodologies will I use

     Agile methodologies mixed with tdd, week-sprints defined by functionality, tests based on funtionality previously defined, functionality integration, loop.

Suggested timeline and milestones

      5 weeks iterating with inference enhancement, and meta-data integration

      1 weeks building a power visitor

      2 week code enhancement and bug fixing.

Where I see the risks

      Concrete type inference is based in runtime-emulation. So get complex expressions will be a challenge

How the results will look like

      A compiler directive that returns, for a given expression, a queriable call-graph, giving, for examble, all the bytecode that need to be executed. All the variables that will be potentialy modified, etc. 



Updated: 5.4.2012