Generating Code and Assuring Code Quality Using Qualified Tools in DO-178C Development Process
Overview
Showing compliance and traceability of the source code to low-level software requirements cover several objectives in DO-178C. When using Model-Based Design, DO-331 requires showing compliance and traceability of the source code to the model. Embedded Coder® has the capability to generate code that complies with and is traceable to the model. Simulink Code Inspector™ supports a restricted subset of Simulink®, Stateflow®, and MATLAB® functionality in the models.
In this part of the webinar series, we will discuss automatic flight code generation. The discussion focuses on the documentation and traceability of the automatically generated C code.
Once code is generated, Showing accuracy and consistency of source code is an objective in DO-178C. When using formal methods, DO-333 allows these objectives to be satisfied by formal analysis. Polyspace Code Prover™ is a tool that can perform formal analysis on C source code, using abstract interpretation. Polyspace Code Prover detects certain potential run-time errors in the source code.
Along with code generation, we will discuss the use of Polyspace for formal verification of the embedded software. Polyspace provides two capabilities within this workflow. The first is the inclusion of a MISRA AC AGC compliance checker which includes the capability to author custom coding rules. The second, and more important, is the application of formal methods to prove the absence of runtime errors in the software. Similar to the concept introduced earlier with Simulink Design Verifier for property proving, Polyspace uses formal methods to prove the absence of runtime errors.
Highlights
- Preparing the Model for Automatic C Code Generation
- Applying customizations based on software architecture for Code Generation
- Perform Back-to-back testing of generated code and model for consistency
- Generate code that complies with Industry guidelines and standards for production code
- Checking compliance to industrial coding standards like MISRA
- Proving the presence or absence of the run-time errors and robustness of the code.
About the Presenters
Gaurav Dubey, Principal Application Engineering, MathWorks
Gaurav Dubey is a Principal Engineer in Application engineering team in MathWorks India and specializes in the fields of model-based system engineering, model-based development workflows, automatic code generation, verification and validation, and certifications. He closely interacts with customers in different domains to help them use MathWorks products for model-based development and model-based system engineering. Gaurav brings more than 17 years of experience in embedded system development. Prior to joining MathWorks, Gaurav worked with Tata Motors Limited, where he gained hands-on experience in engine management system ECU development. He has also worked as a software analyst at Tata Consultancy Services on different automotive projects involving model-based development. Gaurav holds a master’s degree in instrumentation engineering, and a master’s degree in electronics and communications
Vaishnavi H.R., Application Engineer, MathWorks India Pvt. Ltd.
Vaishnavi H.R. is an Application Engineer with MathWorks India Private Limited and focuses in the field of Verification & Validation. Prior to joining MathWorks, Vaishnavi has worked with HCL Technologies, Bangalore. Vaishnavi has worked in the V&V projects pertaining to the Aero industry with clients like Rockwell Collins. At MathWorks, Vaishnavi primarily concentrates on the static source code analysis and verification of the embedded code.
From Academia, Vaishnavi holds a Bachelor’s degree in Electrical Engineering and a Master’s degree in Power Electronics from Visvesvaraya Technological University (VTU), Karnataka.
Recorded: 27 Oct 2021