Summary of Potential Thesis Directions, April 29 2009

April 29, 2009
  • Personality studies of programmers. It turns out personality effects are pretty weak, and the results of personality studies of programmers are probably not all that surprising.
  • Program comprehension/drills for program comprehension. Research in program comprehension was very popular in the eighties and early nineties. It’s died down since then. I’d be trying to make a mark in a very crowded space.
  • Technique drills for programmers. It’s too hard to measure improvement.
  • Version Control. I’m not sure if there’s a whole thesis here, but I might be able to get a paper out of it, e.g. A Reference Architecture for Version Control Systems
  • Citations Comparison. Another one that seems more paper-worthy than thesis-worthy. Not really Computer Science specific, either. [Blog post]
  • By the way, did anyone study any real programs? I could go looking and do a review of research that was done on toy/research programs that could be repeated on real programs. Also not clear if it’s large enough. See Would Dicing Help.
  • Would Dicing Help? A lot of ground has been covered but I think there’s room for more. [Blog post]
  • Motivation and Programming. It wouldn’t meet some of my goals discussed below. [Blog post]
  • Static checker info in an IDE. I’m not familiar with the existing work in this area yet. [Blog post]
  • Software reuse in the large. I’m really not familiar with the existing work in this area yet. [Blog post]

I need to be studying for an exam, dammit, not dealing with trivialities like the next nine months of my life!

Here are the goals I’m trying to satisfy:

  • Research people care about. I won’t be able to sustain my interest in a subject unless important and powerful others care about it. If I’m going to spend the better part of a year on something, it had better matter.
  • Startup-preparation. My current post-graduation goal is to start a company. I’d like my thesis work to align with that goal as much as possible. Ideally my thesis involves building something I could later commercialize. Failing that I’d like to learn skills that will significantly help me commercialize something. Failing that I want my thesis to be easy so I can spend time on better things.
  • Scope. I’d like to err on the smaller side. I have lots I want to learn that isn’t thesis related.
  • Risk-mitigation. I have near-zero tolerance for risk in this¬†endeavor. I’m just not willing to entertain that famous “you don’t know if it’ll work” research mentality when I’ve only got nine months. I want (and believe I can have) a plan with clear effort-reward correlation at the end.

Next steps:

I’m dangerously uninformed about the static checker/IDE idea. For all I know it’s already out there since it’s an obvious idea. I need to look for it. I also need to look into the software reuse area.

ICSE is the leading target for people in our area. I need to skim ICSE proceedings to get a sense of what interests people today. I still need to skim through Jorge’s thesis, too.

Rory et. al estimate it’ll cost me a week solid to read everything from Steve Easterbrook’s Empirical Studies course. If I’m going to design an empirical study, I need to find that week.

I’ve got an exam on the fourth and leave for ICSE ’09 on the fifteenth!


3 Responses to “Summary of Potential Thesis Directions, April 29 2009”

  1. Neil Says:

    If you look at VC, I’d suggest Git/Hg etc. I think an interesting thesis would explore how distributed VC affects program development/SE processes. My 2 cents.

  2. Jorge Says:

    Paper-worthy almost always equals MSc-Thesis-worthy.

  3. George Says:

    I worry that all your desiderata might not be achievable simultaneously.

    You should totally make an awesome startup so you can hire me in 4 years and save me the effort of making my own startup. Since all startups are clearly interchangeable. Yes.

Comments are closed.

%d bloggers like this: