My grad student Mike Conley decided several months ago to look at code review for his master’s thesis. After exploring a few ideas (including badges and achievements for reviews), he has put together a plan that might tie several things together quite neatly. He and I would both appreciate your feedback.
Research
Rory Tulk finished his M.Sc. with me a couple of weeks ago, and has posted a summary of his thesis on his blog. It was a solid piece of research; I’m pleased to have had a chance to work with him.
Research
Mike Conley (one of my grad students) is converging on a thesis topic: pre-commit continuous integration. If you have thoughts, he’d enjoy hearing them.
Research
Several people have recently linked to Diederik van Liere’s talk “Learning from 10 yrs of Bugzilla data“. If you’re interested in that kind of thing, there’s a whole sub-field in software engineering devoted to mining information about actual development practices from various sources. The best two places to start are:
- Kagdi, Collard, and Maletic: “A survey and taxonomy of approaches for mining software repositories in the context of software evolution“. Journal of Software Maintenance, 19(2), 2007.
- Ahmed E. Hassan: “The Road Ahead for Mining Software Repositories“. In Proc. Future of Software Maintenance, at ICSM 2008.
My thanks to Mike Godfrey for the pointers.
Research
I blogged last week about Sahoo et al’s paper on automated bug diagnosis and Gutiart et al’s survey of performance management techniques for web apps. This week has brought two more good ones to my desk:
- Artzi, Dolby, Tip, and Pistoia: “Practical Fault Localization for Dynamic Web Applications”. The authors have extended the Tarantula algorithm, which combines actual and symbolic execution, to produce a tool that can automatically localize 87% of faults in PHP applications to within 1% of all executed statements. Just imagine: if you can make it crash, the tool can cut the amount of code you have to examine by two decimal orders of magnitude almost nine times out of ten.
- Mitchell, Schonberg, and Sevitsky: “Four Trends Leading to Java Runtime Bloat.” The authors, who work at IBM making Java run faster, explain how building software in layers leads to chronic performance problems. Technical but readable—I’m giving it to the students in my software engineering course.
Research
Three of my grad students—Aran Donohue, Jason Montojo, and Rory Tulk—are wrapping up their MSc’s this month. Coincidentally (OK, not really, the academic calendar being what it is), my other two students are converging on research topics. Mike Conley has got the code review bug in a big way, and wants to look at how we can teach students to review code, and whether doing that will have an impact on how (and how well) they program. Zuzel Vera Pacheco is going to look at ways of annotating or animating visual representations of databases, such as entity-relationship diagrams, in order to help developers understand system architecture, debug things, and gauge the likely impact of changes. If you’re interested in either topic, I’m sure they’d enjoy hearing from you.
Research
Like a lot of people, I received email a few days ago from Ivar Jacobson about SEMAT (Software Engineering Method and Theory), a new initiative whose “…goal is to re-found software engineering as a rigorous discipline.” I can’t think of a better response than Jorge Aranda’s.
Research
The International Conference on Software Engineering (ICSE) is being held in South Africa next year. Their web site is already up, and they’ve just announced all the workshops and whatnot that are being held along with it. It’s quite a list, and some of the acronyms are very impressive too
The odds are against me being there (can’t afford it, and it starts before the end of my self-imposed year-long no-fly pledge), but we’re hoping to have an early draft of the O’Reilly book on evidence-based software engineering ready in time to review there.
Making Software, Research
A special issue of Computing in Science & Engineering that Andy Lumsdaine and I edited, devoted to software engineering in computational science, is now available. We’d like to thank everyone who contributed:
- Report on the Second International Workshop on Software Engineering for CSE, by Jeffrey Carver (University of Alabama)
- Managing Chaos: Lessons Learned Developing Software in the Life Sciences, by Sarah Killcoyne and John Boyle (Institute for Systems Biology)
- Scientific Computing’s Productivity Gridlock: How Software Engineering Can Help, by Stuart Faulk (University of Oregon), Eugene Loh and Michael L. Van De Vanter (Sun Microsystems), Susan Squires (Tactics), and Lawrence G. Votta, (Brincos)
- Mutation Sensitivity Testing, by Daniel Hook (Engineering Seismology Group Solutions) and Diane Kelly (Royal Military College of Canada)
- Automated Software Testing for MATLAB, by Steve Eddins (The MathWorks)
- The libflame Library for Dense Matrix Computations, by Field G. Van Zee, Ernie Chan, and Robert A. van de Geijn (University of Texas at Austin), and Enrique S. Quintana-Ortí and Gregorio Quintana-Ortí (Universidad Jaime I de Castellón)
- Engineering the Software for Understanding Climate Change, by Steve Easterbrook (University of Toronto) and Timothy Johns (Hadley Centre for Climate Prediction and Research)

Announcements, Research
Recent Comments