Low-Level Test Generation for Safety-Critical Embedded Software
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The manual creation and verification of low-level test cases for safety-critical applications in software development is costly and time-consuming, particularly in domains like aeronautics, where compliance with standards like DO-178C and DO-330 is required, necessitating the use of qualified tools that increase development time and budget.
Innovation Solution
The use of a non-qualified test case creation tool in conjunction with a qualified model coverage analysis tool to generate and verify low-level test cases, ensuring compliance with safety standards by preserving Modified Condition/Decision Coverage (MC/DC) from the software design model to the source code level, thereby reducing the need for extensive manual verification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual creation and verification of low-level test cases is performed, then test coverage and safety compliance are achieved, but development time and costs increase significantly
Solution Approach 1:
The system performs preliminary automated generation of low-level test cases from high-level test cases before actual verification. The automated low-level test case generator creates detailed test procedures in advance, which are then verified against the software model, eliminating the need for manual creation during the verification phase.
Solution Approach 2:
The patent introduces an automated low-level test case generator as an intermediary tool between high-level test case specifications and the final verification process. This generator acts as a mediator that automatically translates high-level test requirements into detailed low-level test cases, reducing direct manual intervention while maintaining verification quality.
2Reliability
If qualified tools are used for test case creation and verification, then safety standard compliance is ensured, but development costs and complexity increase
Solution Approach 1:
The verification system is segmented into multiple specialized tools, each responsible for a specific function: high-level test case management, automated low-level test case generation, model verification, and compliance checking. This segmentation allows each tool to be optimized for its specific purpose while collectively achieving full safety standard compliance.
Solution Approach 2:
The automated low-level test case generator is designed as a multi-functional tool that can generate test cases for multiple safety standards (DO-178C, DO-330, ARP4754A) from a single high-level test case specification. This universality reduces the need for separate specialized tools for each standard, simplifying the overall toolchain.
3Productivity
If automated test case generation is implemented, then development time is reduced, but tool qualification and verification complexity increase
Solution Approach 1:
The system implements automated feedback loops where the verification tool automatically checks generated low-level test cases against the software model and high-level requirements. This feedback mechanism validates the correctness of automated generation without requiring manual verification, maintaining productivity while ensuring quality through systematic automated checking.
4Measurement precision
If extensive manual verification is performed, then test case accuracy is ensured, but resource consumption and development costs increase
Solution Approach 1:
The automated low-level test case generator performs self-verification by automatically checking its generated test cases against the software model and high-level requirements. The system validates its own output without requiring external manual verification, ensuring test case accuracy while minimizing resource consumption by eliminating redundant manual checking.
Data Source
AI summary
Low-level test cases for safety-critical applications are automatically created and executed. A set of low-level test cases for a software design model is created by using both a non-qualified test case creation tool and a qualified model coverage analysis tool. The created set of low-level test cases is verified to cover low-level requirements for the software model with respect to coverage criteria. A set of high-level test cases for the requirements above the software design model and the set of low-level test cases are executed on a target architecture, based on the source code generated from the software design model, using a qualified code generator. The set of high-level test cases and the set of low-level test cases achieve coverage of the source code as the qualified code generator preserves coverage from model to code.


