Developing Quality Software at the Speed of Business

VERITAS Challenge

VERITAS Software, a world leader in a broad range of data protection and storage management software products, is committed to maintaining the high quality of its increasingly broad suite of products. An important component in that strategy is finding bugs early in the software development process in order to reduce the amount of time development and support teams spend finding and fixing defects. VERITAS uses Coverity to help improve software quality and reduce support costs — without disrupting engineers’ software development routine and methodology.

“ We chose Coverity for two reasons: First, their products can help us improve quality of our software during source code development. Second, Coverity does not cause disruption or significant changes in our engineering process. ”
Oleg Kiselev, VERITAS distinguished engineer

The Balance Between Complexity and Quality

The continual evolution and development of VERITAS software products, which support numerous hardware and operating systems, has led to a dramatic increase in the complexity of source code testing and quality assurance. Handling this complexity demands an ongoing effort by the company’s software developers to maintain the highest software quality standards demanded by customers. Coverity Prevent™ provided a powerful software defect detection solution to compile, analyze, and pinpoint bugs in the source code at compile time.

The Impact of Software Defects

Managing and protecting an organization’s mission-critical information is among the most critical roles in business software. To meet those high standards, VERITAS has implemented software development best practices and a rigid quality-control process. For example, in the event any significant defect is found during QA, developers first repair the issue and then restart the quality assurance testing process from the beginning. Although time consuming and costly, this step is necessary to ensure the highest levels of reliability and quality for the products. In the event a bug is discovered by customers, VERITAS support identifies and isolates the issue as a VERITAS software defect. Then the bug must be reproduced in house in order to fix it. Development teams work around the clock to find the root cause of the failure and create a fix. Once the fix is created, it must be tested and deployed. The process, while necessary for quality assurance, is time consuming and therefore costly.

Complementing a Culture of Quality

“Our experience teaches us that the earlier in the development cycle a bug is found and fixed, the less it costs us. The most expensive bugs are the ones that are encountered by customers on their production systems,” explains Oleg Kiselev, VERITAS distinguished engineer, Storage and Server Management Group. VERITAS uses a number of well-known, standard code quality assurance tools during the development process, as well as sophisticated home-grown automated black-box and white-box tests, buttressed by the conformance, configuration and scalability tests in its QA cycle. “We chose Coverity for two reasons: First, their products can help us improve quality of our software during source code development. Second, Coverity does not cause disruption or significant changes in our engineering process.” Improve software quality — “With Coverity, we discovered bugs in mature, stable code believed bug-free for years. These bugs hadn’t been detected by our test processes or encountered in the field. This makes them all the more important to be found and eliminated, before some new piece of hardware or novel operation performed by the customer trips over them,” stated Kiselev. To VERITAS, whose software is used by 99 percent of the Fortune 500, quality is vital. With the proliferation of products, environments, and platforms, technology gets more complex: “As the number of ‘moving parts’ in the software increases, it is natural for the number of errors and defects to increase,” explains Kiselev. “Coverity’s software is built to handle the increasing complexity of maintaining quality of our ever-evolving and continually growing source code base to ensure that we deliver the best possible product to our customers.” Not disruptive to the development process — Coverity enabled VERITAS to focus on quality while not dramatically changing its development process. Coverity fits into the nightly code build routine, providing deep and rapid insight into code quality without compromising the development cycle. “Coverity didn’t require shipping code off site, and we could conduct immediate checks on newly written code,” said Kiselev. By catching bugs before the QA cycle, we can save time and money while improving service to our customers.”

About VERITAS
With annualized revenues over $1.75 billion in 2003, VERITAS Software ranks among the top 10 software companies in the world. VERITAS uses Coverity Prevent™ to remove software defects during the development cycle.

Datasheets

Industry: Storage management software

Business Challenge: Ensure high quality software for storing customer’s missioncritical data.

Results: Discovered bugs in code that was considered mature.