The game industry has been undergoing incredible changes. With changes in consumer thinking and lifestyles, game categories have diversified along with ever more sophisticated technical requirements for higher graphic quality, such as coding for CPU/GPU and shading techniques to render realistic shades. Game software developers’ burden has been intensified due to scaled up game development with a dramatically increased number of lines to develop. Game development now requires at least 200,000 lines for a handheld game console, 500,000 lines for a set-up type game console, and a million lines for networked PCs.
With fast-paced changes in consoles and intensifying competition, time to market is shortened, demanding faster development speed ever. Economic damage caused by bugs can be critical for game software manufacturers because of the formats that game titles are shipped in such as ROM cartridge and DVD-ROM formats. They do not facilitate bug fixing because the ROM cartridges and DVD-ROMs themselves need to be collected, making bug fixing even more difficult for bugs found just before release.
These circumstances have been challenging game software manufacturers to streamline game title development processes while improving product quality. At SEGA, developers rose to this challenge by researching advanced development tools, and decided Coverity Prevent was the best solution to help them manage the pressure of ensuring the code quality of their games prior to release.
Before implementing Prevent, SEGA did not have effective source code analysis tools. As a result, after developing a software program in accordance with coding conventions, developers needed to compile it for analysis with a syntax checker to complete the coding process. After this, they proceeded to functional testing to detect bugs. One of the main objectives was to streamline the existing development process by finding and fixing bugs in an early stage of the development process with a highly accurate analysis tool.
SEGA evaluated Coverity Prevent along with two other static analysis tools. After only two weeks, SEGA decided to implement Prevent. Usually, tool evaluation requires approximately three months. However, SEGA decided to implement Prevent quickly for a PC game title under development with 900,000 lines to be analyzed (700,000 lines for the client side and 200,000 lines for server side) and 25 developers. SEGA selected Coverity Prevent because developers believed it was clearly better than the other tools. Since the initial deployment, Prevent has been implemented in five additional projects.
The following describes the advantages and effects of the Coverity’s Prevent product as seen by Akio Setsumasa, Technical Director of CS R & D Dept. #3 at Consumer R & D Div.,SEGA Corporation.
Compared to other static analysis tools that generate large amounts of errors and warnings, Prevent includes far less noise (false positives) in analysis reports (less than 5%). Because defect detection is so accurate, developers spend little time searching for the cause of bugs.
The support for installing Coverity Prevent was detailed and complete, requiring under a day from setup to the first analysis results. “Working with other tools can take one to three months to make them work,” said Technical Director Setsumasa. “We were pleased to be able to implement Prevent very easily with minimal setup time.”
Prevent has detected important failures that could have destroyed memory and bugs that they had not been able to resolve or detect before. Prevent also proved its effectiveness by detecting bugs that were very difficult to reproduce.
Prevent’s Defect Manager provides a project progress status at a glance, enabling developers to prioritize detected bugs and failures for more effective bug fixing. The systemized failure tracking capability shows us the fluctuation in the number of bugs at a glance. They determined that Prevent is highly effective for program development progress management due to this capability that enables us to foresee the development in advance.
At SEGA, Coverity Prevent has streamlined the development process, so that developers first check code scripting with a syntax checker then conduct a nightly analysis of the latest code with Prevent. After that, developers check Prevent defect reports the next morning and fix code as needed.
In game software development, the functionality check process is the most important and time-consuming step. It is vital to check all possible usages, knowing and simulating all the controller’s functional tendencies and its particular ways of display, as well as all the common user operational tendencies and habits. With Prevent, developers can find and fix bugs at an early stage, which saves time and labor in the check process, improving productivity approximately 20% in the entire development process.
At the in-house studio of SEGA in Japan, 40 developers are now using Prevent to analyze programs on a daily basis. SEGA recognizes another advantage of using Prevent in addition to overall quality improvement: a positive effect on SEGA developers who now look after each other and pay more attention to what they write because they use and trust Prevent. When executing a large project with a number of developers at different skill levels, Prevent allows developers to focus on development work by checking the code quality. Prevent saves time by facilitating localization of failures and bugs and enabling senior developers to teach new developers based on the analysis results. Prevent implementation is definitely paying off. SEGA will continue improving their product quality and development productivity by working with quantitative data related to development work, including comparison of bugs and development processes used, as well as by promoting Prevent in other departments. A summary of results includes:
About SEGA Corporation
SEGA Corporation has been developed as an amusement machine manufacturer since its establishment in 1960 in Japan. SEGA promotes
the following three business areas as their core business: software development and sales for home video game consoles, amusement machine
development, manufacturing and sales, and amusement center development and operation. SEGA has gained international recognition as one of
the best game manufacturers in the world by always providing cutting-edge products in the market. Their products are based on their excellent
development capability to transmit the contents extensively as well as their incomparable technical application capability that enabled them to
create a number of first-ever products.