Project Slot 9 - Standard Variable and Type Inference Library

Student: Guo Li (CN)
Primary mentor: Tiffany Youzhi Bao (CN/US)
Backup mentor: Kun Yang (CN), Mark Schloesser (DE), Felix Leder (DE), Jianwei Zhuge (CN)

Google Melange:

Project Overview:
Description of project goals, approach and deliverables

Project Plan:

  • May 27th - June 17th: Community Bonding Period
  • June 17th : GSoC 2013 coding officially starts
  • June 17th - June 24th:

    Project Activities:
    Week 1 development tasks:
    Build the initial structure of the project. define some classes and write an tiny demo
  • June 24th - July 1st:

    Project Activities:
    Week 2 development tasks:
    Learn how to use the XED, check all the relative APIs of this lib, figure out what we care about (we care mainly about the API that access to the operand of the instructions).
    Build a test binary code as our analysis target. start to disassemble the instruction, get all the operands and pick critical attributes of them .
  • July 1st - July 8st:

    Project Activities:
    Week 3 development tasks:
    Learn the knowledge about x86 instruction set, know deeply about the instruction format, instruction category, and then understand what instruction can give us useful information for our analysis.
    Start the first step of the analysis: variable recovery. Firstly we focus only on stack variable, find memory access instruction from the binary code and extract the offset.
  • July 8st - July 15st:

    Project Activities:
    Week 4 development tasks:
    Finish the variable recovery phase, (of course, finish a initial version). Optimize the structure of the source code, increase the number of the classes and separate the task in different component, which will make the code more readable and clearer.
    Start the type inference phase. First try to track the propagation of variables in the registers.

    Project Source Code Repository:

    Student Weekly Blog:

    Project Useful Links:

    [1] White, D. R., & Borgatti, S. P. (1994 October) Betweenness centrality measures for directed graphs. 16 (4), 335-346.
    [2] Zemljič, B., & Hlebec, V. (2005 January) Reliability of measures of centrality and prominence. 27 (1), 73-88.