Code coverage tools assess source and object at early, model-based design stages

April 02, 2013 // By Julien Happich
LDRA now offers a new level of verification of design models through an integration with MATLAB and Simulink. The LDRA tool suite can now use real-world data from MATLAB that's connected to a Simulink model in order to fully verify the application at a source and object code level.

Developers can fine-tune the model to reflect a data-driven flow of information, reducing the amount of error-prone manual manipulation necessary for the model-generated code to achieve DO-178C, Level A certification.

The most critical levels of certification require comprehensive testing of an application by independent analysis not only at the source code level, but also at the machine code assembler level. While model-driven development typically ensures consistent code, verification previously required many more steps. Developers could verify the model, but to ensure the model-generated code properly managed a real-world situation, the code had to be extracted, instrumented, connected to an execution harness, and executed against functional verification data. Discrepancies in the functionality required developers to rework the model and manually manipulate the code. Not until the developer could prove that every line of code had been fully tested could an application be submitted for Level A certification.

Thanks to the integration with MATLAB and Simulink, customers can run real-world code generated by Embedded Coder in software in the loop (SIL) and processor in the loop (PIL) simulations. The LDRA tool suite will then analyze both the source and object codes entirely inside the same LDRA framework. LDRA acts as an independent verification layer, working within the MATLAB and Simulink environment. By applying data from models, developers can better understand how various components of the application interact with each other. Defects in the design can be identified, and changes made to the model directly, eliminating many hours of error-prone iterations between the model, code and data.

Visit LDRA at