Google Project Targets Program CrashesBy Brian Prince | Print
Re-Imagining Linux Platforms to Meet the Needs of Cloud Service Providers
Q&A: Google Software Engineer Mark Mentovai discusses "Airbag," the company's open-source project to handle crash reports on different platforms.Program crashes are an unfortunate fact of life for software developers. But to protect against crashes, developers need to know which programs are crashing and how often. Enter Google, which for the past several months has been working on an open-source project called "Airbag" that is aimed at handling all the dirty work when it comes to crash reports. Mark Mentovai, a Google software engineer working on Airbag, spoke with eWEEK Staff Writer Brian Prince about the project.
What was the genesis of the project? Why and when was it started?
We needed a library like this here at Google, and my colleague Brian Ryner and I decided it would be beneficial to other developers and open-source projects. A great example is Mozilla Firefox. Firefox is a large application with a lot of users, so scalability was also a concern. There are some commercial packages that provide crash-reporting systems, but there really isn't anything that a cross-platform open-source project can leverage. We wanted to change that. As we began working, we realized that the bulk of the work had to do with the nitty-gritty technical details, and that we could reach a wider audience by conquering those problems in a general way and allowing developers the freedom to choose how to integrate Airbag into their own products.
What are the benefits for businesses?
Right now, most software companies that want crash reporting functionality either write their own, or if they're on Windows, use Microsoft's crash reporting service. Rolling your own is a lot of work, and using an external service might be undesirable for a variety of reasons. Airbag helps a business set up a crash reporting server on Linux and use it for their client products on any of our supported operating systems.
Crashes that occur "in the wild," on users' computers, are sometimes difficult for developers to reproduce themselves, due to the varying hardware and software configurations, the complexity of the software, and the often random nature of crashes. Crash reporters like Airbag take a snapshot of what was happening in a program at the precise moment that it crashed, so even when a developer isn't able to reproduce a crash, there's at least a record of what state the program wound up in, and how it got there. This data can help a developer to fix crashes.
In addition, a crash-reporting system built around Airbag can examine crash data to determine which crashes seem to be occurring most frequently in real-world situations. Because Airbag can tell developers which crashes users are experiencing, and can provide clues as to why they're occurring, it can have a very positive impact on software stability.
When will it be formally released and what's left to be done before that happens?
For the time being, interested developers comfortable with works in progress can access Airbag directly from our Subversion repository. Once our Linux implementation is complete and stable, we'll be ready for a more formal release.
Check out eWEEK.com's for the latest news, reviews and analysis in programming environments and developer tools.