It’s always bothered me that MIT or MIT Lincoln Lab didn’t submit anything to DARPA’s Cyber Grand Challenge. With all the smart people, such as my advisor, Armando Solar-Lezama, working on program analysis and formal methods (which I currently know nothing about), I would have expected that we could create a strong Cyber Reasoning System worthy of CGC.
That’s sort of what I will be working on this summer at Lincoln and probably writing my thesis on. But I’m very new to the field and have just started diving in.
I will primarily be engineering on panda, LL’s dynamic analysis platform. I will first need to implement record-replay for PowerPC, because that’s what a lot of embedded devices are still programmed in.
Anyways, I’ve decided that I’m going to take 6.035 again in Fall, but this time in Haskell. The fall version will have a language much simpler semantics but is going to be very optimization-heavy. I’d like to get the experience in functional programming, as well as implement the optimizations that I didn’t get to this semester.
I still want to get better at Rust, though, so I will continue working on this Spring’s version of 035, the MITScript dynamic language. I would like to get the code generator fully working and integrate a generational GC. Thank goodness I have JustAPerson around to help me debug Rust.
For the sake of learning Haskell and LLVM, I’ll try to follow the Kaleidoscope tutorial. JustAPerson seems to think I won’t be able to handle 6.035 in Haskell unless I spend the whole summer practicing.
Fortenforge and I will also be finishing the Matasano Crypto Challenges and working on a packet analysis framework for Lab RATs to use at DEF CON this summer.
Many things to do!