Palm, Inc. uses Coverity to inspect all active C and C++products

The Palm, Inc. Challenge

Palm’s products are equipped with a comprehensive suite of Personal Information Management (PIM) software, infrared beaming capabilities, calculators, note-taking applications, games, and a range of additional features— including hi-res color screens, wireless capabilities (Bluetooth®, Wi-Fi, cellular), MP3 software, and digital cameras. Application software quality and time to market are critical within the highly competitive industry of mobile-computing devices and applications. Increased growth in the smartphone business has continued to mold Palm devices into business tools that must be reliable.

Palm’s broad product line of Treo smartphones and Palm handheld computers requires a sophisticated multitarget, multiplatform development environment that enables Palm’s developers to rapidly develop, build, and test software across the Palm suite of products. Before 2003, Palm hadn’t implemented a static source code analysis system across its enterprise because there was no solution available that provided the right tools to integrate with its diverse development environment or that delivered the needed results.

“We have a simple goal: to have all our code be 100% Coverity Clean.”
Pete Richardson, Software Tools Manager, Palm, Inc.

The Solution

In 2003, Palm selected Coverity PreventTM. With its sophisticated technology to automatically map the software DNA through build monitoring and authentic compilation, Coverity Prevent provided the tools Palm needed to take advantage of static source code analysis in its multifaceted build infrastructure.

“We have a complex, multiplatform build automation system. Working with Coverity since 2003, we have been able to integrate Prevent into the entire development life cycle; all the way from developers’ desktops to the servers in the build farm. Now Prevent helps us eliminate costly errors early in the development cycle,” states Pete Richardson, Software Tools Manager at Palm, Inc.

Today, Coverity Prevent is used to inspect all active C and C++ products developed by Palm, Inc.

The Details

With a diverse product line that includes a variety of smartphones and handheld computers, as well as two mobile operating systems, Palm’s development challenge is to create an infrastructure that enables hundreds of developers to operate efficiently. Such a diverse operating environment requires multiple compilers and development environments, including the GNU toolchain, Microsoft Visual Studio, Metrowerks CodeWarrior, and the ARM Developer Suite. Palm has met this challenge with a custom build infrastructure that enables developers to leverage a central build farm to perform both scheduled and on-demand builds and test runs of their software. The results of Coverity’s static analysis technology are reviewed after every official build, and developers are expected to run Coverity Prevent before every check-in. Adding static source code analysis to this complex environment was a business requirement and a technical challenge, but Prevent’s feature set and Coverity’s support team helped Palm realize its goal of seamless integration.

Coverity Prevent maps the software DNA of each application that it analyzes through patent-pending technology that observes the programs called by the application’s build system at the operating system process level. This “build monitor” allows Coverity Prevent to integrate into Palm’s sophisticated development environment with few changes to the scripts that support their build infrastructure. From the build monitor, Coverity Prevent’s authentic compiler is automatically invoked to generate an intermediate representation of Palm’s code base that is then analyzed to find critical, crash-causing errors in the C and C++ source code before that code goes to the testing lab.

“The benefits of static code analysis are clear, and Coverity provides a full-featured solution that can handle our complex build environment.With their technology, we’re making strong progress toward having all our code be 100% Coverity Clean.We have a solution that allows us to realize the full potential of next-generation source code analysis.”
Pete Richardson, Software Tools Manager, Palm, Inc.

Conclusion

Palm, Inc. has been a committed Coverity customer since 2003. To ensure the quality and efficiency of Palm’s software development, Palm mandated the widespread use of Coverity Prevent. Coverity Prevent allows Palm to find bugs as early in the software development cycle as possible.

About Palm, Inc.
Palm, Inc., a leader in mobile computing, strives to put the power of computing in people’s hands so they can access and share their most important information. The company’s products for consumers, mobile professionals, and businesses include Palm Treo smartphones and Palm handheld computers, as well as software, services, and accessories. Palm products are sold through select Internet, retail, reseller, and wireless operator channels throughout the world, and at Palm Retail Stores and Palm online stores (http://www.palm.com/store). More information about Palm, Inc. is available at http://www.palm.com. Palm and Treo are among the trademarks or registered trademarks owned by or licensed to Palm, Inc.

Coverity customer since 2003

Industry: Mobile Computing Products and Accessories

Business Challenge: Millions of customers around the world use Palm® TreoTM smartphones and Palm handheld computers to manage their business and personal lives. Powerful, compelling software and ease-of-use are at the heart of the Palm experience, so software quality is of the utmost importance to Palm. The complexity of a multitarget, multiplatform build environment made leveraging static analysis technology to find errors earlier in the software development cycle across all Palm products a serious challenge.

Results: Coverity PreventTM static analysis solution is in use by Palm, Inc. to detect and fix errors as its software is produced.