In the NASA Jet Propulsion Laboratory, Gerard Holzmann likes to have things nice and clean.
That is why he created Scrub, a code reviewing porgram that is used for all module code reviews. Scrub collects warnings and error reports from NASA software analyzers, and then presents the data in a GUI to developers so they can see all issues that need to be addressed.
"The tool collects all the mechanically produced error reports, but also peers and code reviewers can enter queries on the code as well by clicking on the line number," Holzmann said. "Human-generated input gets collected by the same tool in a uniform interface. During a code review, the module developer is asked to respond to each report and close them out. If there's a disagreement, then there's a second cycle of review."
As Holzmann and his team gear up for the Mars Science Laboratory mission, which will put a rover onto Mars to assess the planet's environment, it is code analyzers like Scrub that are making sure the software is working properly and that problems will be avoided when it's time for the big launch.