Log in

No account? Create an account
"A system for testing specifications of CPU semantics" - Lindsey Kuper [entries|archive|friends|userinfo]
Lindsey Kuper

[ website | composition.al ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

"A system for testing specifications of CPU semantics" [Aug. 21st, 2010|12:47 am]
Lindsey Kuper

Today was the last day of my internship. It was the other interns' last day, too, and we all gave talks this afternoon about what we worked on this summer. In case you were wondering what I've been up to for the last thirteen weeks, I've posted the slides and notes from mine.

Me, to one of the other interns: Your talk was good!
Him: Thanks! Yours was...complicated!

...I don't think it was that complicated, really! But you can judge for yourself. Also, I did the talk without notes, and I feel good about that. In the past, I've always given talks by writing down almost every word I want to say, and bringing a big ol' stack of paper up to the front with me. I didn't do that this time. I still wrote down almost every word I wanted to say -- I think pretty textually, and writing it all down helps me get my thoughts in order and drives the slide-making process. I stole the idea of writing down talks from danah boyd a long time ago, and I'll probably keep doing it. But instead of bringing the crib notes with me, I went up and did it cold from the slides, and I think that it was a much better talk for having done so. I had no choice but to be thinking about the things I was saying as I was saying them, and that meant that I had the presence of mind to answer spontaneous questions as they came up during the talk. I'm still working on becoming a good speaker, but I think this is the best I've done so far.

All in all, the summer was a success: the project will continue in my absence, I'll be a coauthor if we eventually publish something, I was invited to return next summer, and we all celebrated with pizza and Rock Band this evening. Count this one a win.

Edited to add: I gave an expanded version of the talk to my research group later (slides; notes). It's mostly the same, but with a bit more detail about abstract interpretation.


[User Picture]From: lindseykuper
2010-08-25 09:50 pm (UTC)
Thanks! Finding easier ways to do static analysis of executables is still an unusual problem to have; not a lot of people are doing that. GrammaTech's whole research program is centered around the idea of "what you see is not what you execute", meaning that no matter what approach you take, no matter how sophisticated your analysis of source code is, you won't really know what your programs are doing unless you analyze machine code. It's a compelling argument.
(Reply) (Parent) (Thread)
[User Picture]From: jes5199
2010-08-25 10:47 pm (UTC)
sure, but, you never step into the same processor twice. Even executing the code on metal is insufficient to understand it's entire possibility space, because the combinatorics of the machine state is so huge
(Reply) (Parent) (Thread)