Security : Technology : Software Development : Tools
Extend Integration by Verifying the Model at Object Code Level
To boost the quality and efficiency of safety-critical design, the LDRA tool suite now analyzes, instruments and assesses code coverage of both source and object code during the model phase of development
LDRA Operations Director
LDRA, a leader in standards compliance, automated software verification, source code analysis and test tools, now offers unprecedented verification of the model through a sophisticated 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.
LDRA Proves Functionality at the Model Level
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.
“Because Model-Based Design generates code automatically and saves development time, we continue to look for ways to test the code automatically and save verification time,” stated Tom Erkkinen, Embedded Applications Manager, MathWorks. “The integration of MATLAB and Simulink with the LDRA tool suite enables developers to reuse their requirements-based model simulation test framework now on the executable object code. This improves the efficiency and quality of code while continuing to meet the highest criteria of industry certification.”
“Rigorous verification of the safety-critical systems found in avionics, defense and high-speed rail have resulted in stellar safety records, but at a significant financial and time-to-market cost,” noted Ian Hennell, LDRA Operations Director. “Through this integration, LDRA gives companies a way to maintain best-of-breed software practices and quality while better managing the work flow, schedule and cost of development.”
Graphical Debug and Process Automation Speed Development
The integration enables the LDRA tool suite to perform verification to the object code level through Simulink-based testing. The LDRA tool suite can then verify that any discrepancies between source and object code caused by compiler or program optimization are corrected in the model. Because the developers are working in the model, the relationships between application components and data elements are transparent. In addition, direct integration of object code coverage enables developers to perform DO-178C object code verification early in the development process.
Such automation and elimination of manual steps enables companies to achieve the most rigorous certification levels from their Simulink models. Developers can prove that their applications have been fully tested down to the object code level, fulfilling the demands of DO-178C, Level A. By beginning the certification process for Level A projects early in the design lifecycle, any issues with compilers generating invalid or extraneous object code are identified and addressed early. Without this capability, discovery of object code verification errors occur late in the design lifecycle and can result in late stage delays in product release.
While such testing does not obviate the need to test the application in an integrated environment, it does ensure that most, if not all, application defects are identified and corrected prior to this stage. Given the cost and the limited availability of hardware components, the integration of the LDRA tool suite with Simulink and MATLAB ensures that the application can evolve to an advanced level of code maturity and quality before being exercised on the target system. This level of control shortcuts project overruns in both time and cost.
A demonstration of the LDRA and MathWorks integration will be presented at Booth 2138 at Design West 2013 from April 23 to 25 in San Jose, California.
For more than forty years, LDRA has developed and driven the market for software that automates code analysis and software testing for safety-, mission-, security- and business-critical markets. Working with clients to achieve early error identification and full compliance with industry standards, LDRA traces requirements through static and dynamic analysis to unit testing and verification for a wide variety of hardware and software platforms. Boasting a worldwide presence, LDRA is headquartered in the UK with subsidiaries in the United States, India and an extensive distributor network.
Advertise your product/service here!