January 29, 2009

Back to Basics

Posted in Uncategorized at 7:44 pm by carolynresearch

I have been caught in the details of my thesis for so long, listening to poor quality audio recordings, trying to generalize and theorize and so on, that I think I’ve lost sight of the big picture. I’m trying to take a step back and think of my big interests, and how they might have changed over the last year or so.

Way back when I decided to go back to school, one of the topics that fascinated me was how it might be possible to make “perfect” software, or at very least, software with a predictable failure rate. I sometimes think I obsess over this more than most people – when I looked for work, I wanted to work on safety-critical applications, medical applications, avionics, or something like that. While I guess a lot of this isn’t really as cool as other applications, it just calls to me. How do people make software that works well enough, fails gracefully enough, recovers well enough, when its really important? That’s what I want to know. Learn from those who do it well, and help those who don’t.

One of my adviser’s colleagues who spoke to a class about testing said he stays away from medical applications – I just don’t understand why so many people I know don’t want to work on things they consider safety critical. I think some of them might not realize the safety implications of their work on “normal” applications, but that’s another story.

I guess its a similar “importance” idea that explains why so many people are interested in security. I think I just avoid focusing on security because I see it getting enough attention, and because I like making things move in the real world. For a mathematician and computer scientist, I really like getting my hands dirty. Of course, that’s why I went to grad school. 🙂

I’ve also always been fascinated by the way other people approach problems in programming. I’ve always been a math geek – it’s natural for me to move to a more formal notation when it matters, and to step back when I want to see the big picture. I don’t know where I learned that skill, the one that makes it easy for me to decide how much detail a proof needs in a context, and to step back from code level details.

This moving between levels of abstraction that seems foreign to a lot of the students I talked to, and observed in my masters’ thesis research. I think it’s one thing that makes concurrency hard for them. Moving away from a line-by-line approach seems to be a big challenge. This has been one of my surprises. I guess I keep falling into the trap of thinking that others think like me. You’d think that after tutoring high school math for close to 20 years, I’d have figured out that isn’t true.

I really want to keep looking at design, formalisms, parallel algorithms, and novices. I might have one of my office mates as a collaborator, which would be nice. One thing I’d like to do is improve or create a tool which really helps novices write parallel code, or one which helps them analyze their failed tests.

I’m also trying to trade ideas with another office mate who is looking at how to teach climate science ideas to high school students using models they can manipulate. Maybe I can point him away from some of my mistakes.

I think I have enough going on to keep my busy. I should get started looking at the scientists’ survey data when my thesis work is put to bed. I’m sure there are a lot of follow-on projects from that, but they’ll need more analysis than the quick look through I did before Christmas. I’d like to present a poster with my thesis work at Grace Hopper next year, while I try to extend on it and make it a really good conference paper. I might like to see if I can do a testing “in the wild” study at the AST conference this year – I made a few connections there last year as a volunteer, and got the impression the attendees would be open to something like that.

I think this is a little unfocused, but I guess that’s OK. A little pondering and planning is probably a good idea at this stage. I guess I’ll have to figure out a plan for my PhD research soon enough, and I’m starting to see a fuzzy plan forming.

Leave a comment