1) REIL is a platform-independent intermediate language designed for reverse engineering. It has a small instruction set and simple operand types to simplify analysis.
2) Applications of REIL include register tracking to follow data flow, index underflow detection to find bugs, automated deobfuscation to make code more readable, and ROP gadget generation to create return-oriented shellcode.
3) Future work includes developing BinAudit with more vulnerability research algorithms and type reconstruction to determine higher-level data types in registers.