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.