Monthly Archives: January 2010

I Don’t Care Until I Can Check

Over in the Agile Usability group, Larry Constantine writes:

…Capers Jones has been sharing with me some hard data summaries on a variety of development methods and practices gathered from a very large number of projects undertaken by varied organizations that contribute data on bugs, costs, etc., to his company….An interesting thing is that agile methods fare better in most measures, including total cost of ownership of final software product, than practices associated with CMM level 3 but are NOT as good as the Rational Unified Process and all three are trumped by CMM level 5…I don’t want to get into the specific numbers (the data set is proprietary anyway)…I want to raise a very different issue: What would it mean to the agile community IF these findings really were valid and true?

To which I can only reply, “Show me the data.” Seriously: if you’re not willing to show people your data and explain where and how it was collected, and how it was analyzed, we should pay exactly as much attention to you as we do to the guy in the bar who claims to have met a guy who met the guy who actually shot JFK. My greatest hope for our upcoming collection on evidence-based software engineering is that it will remind people that neither anecdotes nor trade secrets constitute proof.

About Time

Andrew Wakefield, the British doctor who started the whole “vaccines cause autism” scare, is finally being held accountable for his dishonest and deliberately misleading conduct. If a big pharma company had done the things he did, they’d be excoriated by the press and sued for hundreds of millions of dollars; we shouldn’t let people off just because they’re not incorporated.

CUSEC 2010

If it’s Monday, I must be catching up… I spoke at CUSEC 2010 last week to about 250 students and others about evidence-based software engineering. The talk is an update of the one I gave at DevDays last October; it’s basically a pitch for an upcoming O’Reilly collection on the subject, and the slides are up on SlideShare. You can find Joey de Villa’s detailed notes on the CUSEC keynotes on his blog:

and more to come.

CUSEC

My talk at CUSEC starts in 15 minutes; to calm my nerves, I’m catching up on my blog :-) . Here are where students are from:

Carleton 30
Concordia 66
École de Technologie Supérieure 16
École Polytechnique de Montréal 4
McGill 27
McMaster 29
Ryerson 1
Schulich 1
Sherbrooke 6
Université de Montréal 2
Université Laval 8
Ottawa 21
Toronto 12
UTM 2
UTSC 6
Waterloo 21
Windsor 1

More on Mining

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:

  1. 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.
  2. 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.

Two More Thumbs Up

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:

  1. 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.
  2. 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.