Automated Software Verification for Automated Driving Functions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for verifying software components of automated driving functions, such as model checking, are often manual, time-consuming, and lack guarantees for error detection, especially in safety-critical systems with large state spaces, and are not universally applicable across various programming languages.
Innovation Solution
A computer-implemented method that automatically translates native program code into a model checker representation using finite-state machines, allowing for fully automatic and flexible model checking across standard procedural, object-oriented, and functional programming languages, retaining code structure and enabling efficient analysis with tools like SPIN and NuSMV, and is applicable in safety-critical systems like automated vehicles.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If model checking is performed manually on existing program code, then verification can be carried out, but the process is time-consuming and lacks guarantees for error detection
Solution Approach 1:
The patent applies preliminary action by automatically translating native program code into model checker representation before verification begins. This preprocessing step converts the code into a finite-state machine format that model checkers can efficiently analyze, eliminating manual translation work and ensuring the code is ready for automated verification, thus reducing verification time while maintaining reliability
Solution Approach 2:
The patent uses an intermediary approach by introducing a translation mechanism that acts as a mediator between native program code and model checkers. This intermediary component automatically converts code from various programming languages into a universal model checker representation, enabling automated verification without manual intervention and providing guaranteed error detection
2Productivity
If model checking is automated, then verification time is reduced, but it requires translation into specific formats that limit programming language applicability
Solution Approach 1:
The patent applies universality by creating a translation mechanism that handles multiple programming languages (C++, Python, Java, etc.) and converts them all into a common model checker representation. This universal approach enables automated model checking across diverse programming languages without requiring language-specific tools or manual translation, thus maintaining high verification efficiency while achieving broad language applicability
3Manufacturing precision
If manual translation to model checker representation is performed, then code structure can be retained, but the process becomes complex and user-dependent
Solution Approach 1:
The patent applies self-service by implementing an automated translation mechanism that independently converts native program code into model checker representation without requiring user intervention. The system automatically preserves code structure by maintaining a one-to-one correspondence between original code elements and their model checker equivalents, thus achieving high manufacturing precision while eliminating the complexity of manual translation
Data Source
AI summary
A computer-implemented method for verifying a software component of an automated driving function. The native program code of the software component to be verified is limited to a set of authorized operations of the programming language used, and the following steps are performed: a) translating the native program code into a model checker representation of the software component to be verified, and b) analyzing the model checker representation of the software component to be verified using a model checking method. The native program code is converted into a finite-state machine, the states and state transitions of which are one-to-one assignable to the code structure of the native program code. The model checker representation is generated on the basis of this finite-state machine, such that the code structure of the native program code is largely retained when it is translated into the model checker representation.


