The best software developers in the world know you can’t create code without bugs — it’s just not possible. However, new open source software being put to use by open source projects including Evolution, Gaim, theGimp, Gnome, Rhythmbox and others can more quickly find the worst bugs, including those that are causing hangups for most users. In turn, users can automatically report back on software quality with a program known as the Cooperative Bug Isolation Project.
Created by University of Wisconsin-Madison Assistant Professor of Computer Sciences Ben Liblit, the software code is available under the open source BSD license, partly because the project originated at the license namesake Berkeley, and partly because that was the license that could be used “without raising lawyers’ eyebrows,” Liblit told LinuxInsider.
He described the software and strategy as offering a different way to view software use, feedback and debugging, which has typically centered on software developers making detailed bug reports to one another.
“It provides a different sort of channel,” Liblit said. “What I’m trying to provide is a different view of the software.”
Finding Biggest Bugs
Liblit explained that while software bug reporting has largely been limited to those with technical understanding of the software, even with the highly collaborative and transparent communication of open source software development, his bug-busting software harnesses the larger pool of software users, who may simply report properly functioning applications if no bugs are encountered.
While general users of software will not provide the highly technical descriptions of glitches or holes that come in today’s bug reports, these regular users can offer a glimpse into the real-world performance of the software, Liblit said.
“If there are 10,000 users, what are the bugs they’re tending to hit?” he said. “You give up a detailed view in favor of an overall view of the software from the user community.”
Calling the Cooperative Bug Isolation Project complimentary to traditional bug reporting, Liblit said the open source software could be integral to bug triage, the prioritization of bugs by degree of severity.
At first it was difficult to understand the user feedback, Liblit said. However, with the help of some popular open source projects, development of the software is moving along, as is its potential to help users.
“There is a certain consistency to the data we collect because it’s built in, and it’s [from] the real users,” Liblit said. “At the end of the day, the bugs you’re trying to fix are the ones affecting users.”
Potential With Practice
While typical user or developer feedback about crashes typically cannot point to specific sections of code that are at fault, Liblit’s software helps identify those specific sections of the code, offering information about how often code paths are used in the wild, according to software developer Luis Villa, on staff at the Berkman Center for Internet and Society at Harvard Law School, and described by Liblit as a “Gnome QA God” for his work on the open source Gnome Bugsquad.
“Both of these are quite important,” Villa said of the specific sections and code paths revealed with the Bug Isolation Project software.
Liblit said developers were sometimes stunned by the data his software could capture, including a view of software through its run, which can be used to identify earlier precursors of problems.
“This creates a much more informative feedback pipe back to developers,” he said.
Model Open Source
The software has big potential, but that potential isn’t being fully explored yet, according to Villa, who said too few people are skilled in the art of interpreting the results of Liblit’s software, and not enough people are running the instrumented software.
“But the potential is definitely there,” he said. “Any tool that can provide all kinds of new debugging information while not requiring additional work by developers is potentially very useful,” Villa said. “Tools that require extra work by developers tend not to get used much.”
Villa praised Liblit not only for his software, but also for his approach, which he says has been “a model for how open source research projects should work.”
“I’ve been involved in a lot of research into open source, but this is the first I’ve personally worked with where the researcher not only came up with a new tool, but worked with the community to implement it and feed some results back,” Villa said.
Info for Eyeballs
For his part, Liblit said it has been easy to work with the open source projects, particularly given the “culture of volunteerism” present in the community.
“They are happy to have people help in any way they can,” he said.
Liblit also explained how his software and its use build upon the transparent, cooperative nature of open source software and development.
“It doesn’t increase the eyeballs,” he said. “It increases the amount of information available to those eyeballs.”