AUTOSAR Wrapper for Formal Verification of Vehicular Software
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional software verification tools are ineffective in handling the complexity of AUTOSAR software applications, often missing critical bugs due to their hardware-independent nature and inability to cover all possible scenarios, which is particularly problematic in safety-critical vehicular systems where errors can have severe consequences.
Innovation Solution
A method is introduced to automatically generate a formal verification environment based on the AUTOSAR design model and business logic rules, which includes generating a wrapper program for software components, determining appropriate input values, and using a generic formal verification tool like IBM Software Formal Verification to ensure compliance with specified requirements and detect hard-to-reach corner-case bugs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional software verification tools are used, then the verification process is simple, but they cannot handle the complexity of AUTOSAR software applications and miss critical bugs
Solution Approach 1:
The patent introduces a wrapper program as an intermediary component between the verification tool and the AUTOSAR software component. This wrapper translates and adapts the verification inputs and outputs to match the AUTOSAR architecture's specific requirements, enabling traditional verification tools to effectively analyze complex AUTOSAR software while maintaining their original functionality.
Solution Approach 2:
The verification process is segmented into distinct components: the original software component, the wrapper program, and the verification tool. This segmentation allows each component to be optimized independently - the wrapper handles AUTOSAR-specific complexity while the verification tool focuses on bug detection, resolving the contradiction between detection capability and system complexity.
2Reliability
If a formal verification environment is generated for AUTOSAR software, then comprehensive bug detection is achieved, but the preparation process becomes complex
Solution Approach 1:
The wrapper program is generated in advance before the actual verification process. This preliminary action prepares the software component by pre-configuring the wrapper with the necessary AUTOSAR architecture information and business logic rules, so that during verification, the complex adaptation work has already been done, reducing the perceived complexity of the verification process.
Solution Approach 2:
The system automatically generates the wrapper program and determines the inputs based on the design model and business logic rules without requiring manual intervention. This self-service approach handles the complexity of preparation internally, providing comprehensive verification while keeping the user-facing process simple.
3Reliability
If all possible scenarios are covered in verification, then critical bugs are detected, but the verification time and resources increase
Solution Approach 1:
The wrapper program is designed to provide excessive coverage by considering all possible scenarios defined in the AUTOSAR design model and business logic rules, even though not all may be reachable in practice. This ensures that critical bugs in corner cases are detected while the actual verification time remains manageable because the wrapper efficiently prunes impossible execution paths.
Data Source
AI summary
According to one exemplary embodiment, a method for preparing a software component for verification is provided. The method may include receiving the software component and a design model. The method may also include generating a wrapper program based on the received software component and the received design model. The method may then include associating the received software component with the generated wrapper program. The method may further include determining a plurality of inputs for the received software component based on the received design model. The method may also include sending the determined plurality of inputs and the received software component with associated wrapper program to a verification tool.


