Control Unit Software Testing via Binary File Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for testing control unit software require changes and re-compilation of source code, increasing the likelihood of malfunctions during normal operation, as they do not effectively prevent the re-execution of test modules after successful testing.

Innovation Solution

A computer-implemented method that uses a first binary file to execute a test program on a control unit, with test results determining a second binary file that prevents the test module from being executed, allowing software to be tested without altering the source code, thereby reducing the risk of malfunctions during normal operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If source code is changed and re-compiled to prevent test module execution, then software reliability is improved, but development time and complexity increase

Engineering Contradiction:
Improvesoftware reliabilityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent changes the execution parameters of the software by using different binary files (first binary file for testing, second binary file for production) instead of modifying source code. This allows the same source code to be executed with different behaviors depending on which binary file is loaded, resolving the contradiction between reliability and development time.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent creates copies of the compiled software in different forms (first binary file with test modules, second binary file without test modules) rather than modifying the original source code. This copying approach allows testing and production versions to coexist without requiring source code changes, maintaining both reliability and development efficiency.

Inventive Principle:
Principle #26Copying

2Reliability

If test modules are permanently deactivated after testing, then software reliability is improved, but the ability to reuse test results decreases

Engineering Contradiction:
Improvesoftware reliabilityVSAvoidtest result reusability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the software into distinct functional parts: test modules (first binary file) and production modules (second binary file). This segmentation allows test results to be permanently stored and reused for verification purposes while maintaining separate production software that does not contain test modules, resolving the contradiction between reliability and adaptability.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If test data is injected into software during normal operation, then software testing capability is improved, but system safety deteriorates

Engineering Contradiction:
Improvesoftware testing capabilityVSAvoidsystem safety
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent extracts test functionality into a separate first binary file that can be loaded independently during testing. This extraction allows test data injection and testing capabilities to be separated from the production software, enabling safe testing without compromising system safety during normal operation. The test modules are taken out as a distinct component that can be removed after testing.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11899561B2Method for operating a control unit when testing software of the control unit, and method for operating a test computer when testing software of a control unit
Publication Date: 2024.02.13 ROBERT BOSCH GMBH
  • US11899561B2 patent drawing
  • US11899561B2 patent drawing
  • US11899561B2 patent drawing

AI summary

A method for operating a control unit when testing software of the control unit. The control unit includes a processor for executing the software and a memory for storing the software. The method includes: receiving test requests, generated by a test computer, in the control unit; executing a test program for testing the software based on the test requests, by executing a first binary file, which is stored in the memory, by the processor, the first binary file encoding a test version of the software which includes at least one test module necessary for executing the test program; sending test results from the control unit to the test computer; and receiving a second binary file, executable by the processor, in the control unit and storing the second binary file in the memory when the test computer has determined, based on the test results, that the software is fit for operation.