Software testing is ubiquitous and an integral part of embedded code verification. However, it can be an expensive activity especially if done in an ad-hoc manner towards the end of the development process. Test-Driven Development brings certain advantages that help structure the process for efficiently validating the functional requirements that need to be met. But any such approach relying on testing alone is incomplete as they fail to meet the implicit requirements of robustness explicitly called out in standards like DO 178, ISO 26262, IEC 62304 etc. Code Proving (an advanced form of static analysis) provides a way to verify implementation correctness as the code is being written. Combining Code Proving with dynamic testing yields safer, secure and more robust / reliable software early in the development process. This significantly reduces the time spent later in the project debugging run time errors, eliminating redundant testing activities while improving overall code quality.
Presented by: MathWorks
<p><i>Speaker(s): Matt Rhodes (Senior Application Engineer, MathWorks)</p>