History can tell you that companies don’t disclose crashes in their software. They keep a pretty close eye on what crashes and bugs are disclosed.
Rather than being the exception, openness is the rule, and that is one of the coolest things about being a part of this. My job, my everday tasks, they aren’t secret, and they are not to drive profits. They are to drive the web.
In that spirit, our crash reporting system (Socorro) is available to whoever wants to view it. Aside from user-bound statistics, crash information is available in full and anybody in the community can learn about where in the code their client crashed. They can also help provide hints or comments about what they were doing at the time they crashed.
This opens the door for the community to learn valuable things about their software and how they use it:
- What crashes the most? What crashes the most over time? What is the breakdown across branches, versions and products?
- Where did we crash? Crash signatures provide a head start for locating the cause for a crash. From there, full stack traces are available to analyze callback and find the source of the actual crash.
- What was installed? What modules were installed for a given crash? Soon we will also be able to understand what extensions were installed so we can understand the correlation between core client crashes and crashes caused by faulty extensions. The end result is a closer relationship with the extension developer community and better quality in our add-ons space.
- How are we doing? Overall the jackpot question is — are we crashing more or less? How are we doing with this beta, alpha or rc1? Are we regressing in real-life situations despite positive automated testing results??
All of this was possible because of a collaborative effort between quite a few parties:
- Mark Mentovai and the breakpad team, for writing a great client and processor under a flexible open source license that is easy to integrate
- Ted Mielczarek for his work on the client, processor and integrating the project into Firefox 3
- Benjamin Smedberg and Robert Sayre for their work in getting the initial versions of the breakpad server off the ground
Where do we go from here?
Of the many projects we have in 2008, this is one of the most exciting. It’s an opportunity to open up information that hasn’t historically been available to the masses, and hack on a great tool for improving the quality of all Mozilla projects