A publication of the Office of Advanced Simulation & Computing, NA-114, NNSA Defense Programs

December 2007

NA-ASC-500-07—Issue
Return to this issue’s stories

ASC Software Quality Engineering Group Gives Defects Some Static

The ASC Verification and Validation (V&V) software quality engineering (SQE) group at Lawrence Livermore National Laboratory used a new static analysis tool, the automated static analyzer (ASA), to analyze over 2 million lines of ASC source codes and to verify that more than 3,000 defects were repaired in much less time than would be possible using standard debugging techniques. This work was performed in support of an FY07 level 2 ASC milestone.

The ASA is an automated tool that can analyze C, C++, and Java source code for software defects, including security vulnerabilities. Livermore has two different ASA tools with similar capability. One is used by the SQE group, and one is used by other programs at Livermore. Both ASA tools return low false positive rates (20 percent as compared to 50 percent for other static analyzers); however, the ASC tool used by the SQE group provides additional features such as metrics and trending and architectural analysis that was important to the ASC Program.

Livermore software quality engineers are using ASA to help code teams improve code reliability. In the past, finding software defects involved using a run-time debugging tool that would stop the code when a defect was encountered. The developer would trace through the code to identify the cause of the defect and then develop a fix. This could take anywhere from a minute to several days per defect, and some ASC codes had several thousand defects. The ASC ASA tool can analyze as many as 1,600 defect types within an hour or two, thus eliminating months of code developer time. ASA tools will not replace the benefits of peer inspections or functional testing, since the tool is unaware of user requirements.

Plans for FY08 include analyzing the entire suite of ASC codes through the ASA tool and then analyzing the initial reports to pre-filter out false positive defects for developers. This will save considerable time because pre-filtering is the most time-consuming part of the task.  Research is also under way to evaluate using a Fortran-to-C converter on legacy Fortran codes and then analyzing the results with the current ASC ASA tool.

DOE Privacy Disclaimer | Sandia Privacy Disclaimer | SAND 2007-8167 W

ASCeNews Archive | Contact Us

sandia logo Developed and maintained by Sandia National Laboratories for NA.114