Mr. Kikuchi first learned about Polyspace® products for C and C++ from colleagues within the global Renault-Nissan alliance.
Nissan performed benchmark testing to evaluate the ability of Polyspace Bug Finder™ and Polyspace Code Prover™ to find run-time errors. “We were already using two static tools. We decided to try Polyspace products during a pilot project. Upon the successful completion of the pilot, we added Polyspace products to the two other tools and extended utilization to all software we would review. Since suppliers have their own specific software, including different development environments, microprocessors, and cross-compilers, we also designed an efficient process so we could analyze their code quickly.”
Nissan defines three levels of gravity for every bug identified: major (must be fixed immediately), medium (should be fixed in a future release), and minor.
Mr. Kikuchi identifies the constraints and criteria that will be used to review previously validated code for the presence of run-time errors using Polyspace products.
“Polyspace products not only find which operations can experience run-time errors, they also identify those that will never have one, no matter the operating conditions,” says Mr. Kikuchi. “Furthermore, they can do so during coding, thus before unit testing. This is of tremendous value to our suppliers.”
“While we do not force members of our value-added chain to use Polyspace products in their development process, we regard a systematic utilization by a supplier as a great plus. Knowing how and when Polyspace products were used during coding gives us great confidence in code reliability. It provides us with a guarantee that software robustness and reliability are ensured in the most efficient way possible,” concludes Mr. Kikuchi.