IP Library › Granted Patent US 11,422,928
Granted Patent B2
US 11,422,928 · App. 16/650,313 · Granted Aug 23, 2022

Method, device and test program for recognizing a weak point in an original program

Inventor: Jan Stijohann (Munich, DE)
G06F11/3692G06F11/3476G06F11/3664G06F11/3688G06F21/602
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,422,928
App. No.
16/650,313
Granted
Aug 23, 2022
Kind
B2
Abstract

Provided is a method for recognizing a weak point in an original program using a test program, the original program being configured to perform a predetermined function on input data when executed in a predetermined runtime environment and the test program being configured to execute the same predetermined function on the input data when executed in the predetermined runtime environment, including: executing the original program and the test program in parallel on identical input data in the predetermined runtime environment; obtaining a test information characterizing the execution of the test program; and determining whether the original program has a weak point based on a comparison of the test information with a predetermined weak point information indicating conditions for recognizing weak points. Weak points of a program can be determined dynamically, without having to perform a time consuming testing in an artificial test environment.

Claims (34)

1. A method for recognizing a weak point in an original program using a test program, the original program being configured to perform a predetermined function on input data when executed in a predetermined runtime environment and the test program being configured to execute the same predetermined function on the input data when executed in the same predetermined runtime environment as the original program, wherein the predetermined runtime environment is a real environment for running the original program, wherein the test program is a copy of the original program and is configured to perform all the functions of the original program, wherein the only difference between the original program and the test program is that the test program additionally includes testing functions not included in the original program, the method comprising:

executing the original program and the test program in parallel on identical input data in the predetermined runtime environment, wherein the identical input data is real data from the real environment, wherein the testing functions log events occurring when executing the test program in the real environment;

obtaining a test information characterizing the execution of the test program from the testing functions, wherein the test information includes log entries; and

monitoring the log entries and determining whether the original program has a weak point based on a comparison of the test information with a predetermined weak point information provided in the testing function.

2. The method according to claim 1 ,

wherein the original program and the test program are executed independently from each other.

3. The method according to claim 1 , wherein the test information comprises at least:

an execution time of a predetermined part of code of the test program;

an exception occurring when executing the test program;

an information about a cryptographic key used when executing the test program; and/or

an order of events occurring when executing the test program.

4. The method according to claim 1 , further comprising:

providing a user with a warning information indicating that the weak point has been recognized if it is determined that the original program has the weak point.

5. The method according to claim 1 , wherein the steps of obtaining a test information and of determining whether the original program has the weak point are performed by the test program.

6. The method according to claim 1 , further comprising:

updating at least one of the original program and the test program in view of the recognized weak point.

7. The method according to claim 1 ,

wherein the original program and the test program are stored on a same hardware entity, or wherein the original program and the test program are stored on different hardware entities.

8. A computer program product, comprising a non-transitory computer readable hardware storage device having computer readable program code stored therein, said program code executable by a processor of a computer system to implement a method, comprising a program code for executing the method according to claim 1 .

9. A computer program product, comprising a non-transitory computer readable hardware storage device having computer readable program code stored therein, said program code executable by a processor of a computer system to implement a test program for recognizing a weak point in an original program, the original program being configured to perform a predetermined function on input data when executed in a predetermined runtime environment, wherein the predetermined runtime environment is a real environment for running the original program, wherein the test program is a copy of the original program and is configured to perform all the functions of the original program, wherein the only difference between the original program and the test program is that the test program additionally includes testing functions not included in the original program,

the test program being configured:

to execute the same predetermined function on the input data when executed in the same predetermined runtime environment as the original program;

to be executed in parallel to the original program on identical input data as the original program in the predetermined runtime environment, wherein the identical input data is real data from the real environment, wherein the testing functions log events occurring when executing the test program in the real environment;

to provide a test information characterizing the execution of the test program from the testing functions, wherein the test information includes log entries; and

to monitor the log entries and determine whether the original program has a weak point based on a comparison of the test information with a predetermined weak point information provided in the testing function.

10. A device for recognizing a weak point in an original program using a test program, the original program being configured to perform a predetermined function on input data when executed in a predetermined runtime environment and the test program being configured to execute the same predetermined function on the input data when executed in the same predetermined runtime environment as the original program, wherein the predetermined runtime environment is a real environment for running the original program, wherein the test program is a copy of the original program and is configured to perform all the functions of the original program, wherein the only difference between the original program and the test program is that the test program additionally includes testing functions not included in the original program,

the device comprising:

an execution entity for executing the original program and the test program in parallel on identical input data in the predetermined runtime environment, wherein the identical input data is real data from the real environment, wherein the testing functions log events occurring when executing the test program in the real environment;

an obtaining entity for obtaining a test information characterizing the execution of the test program from the testing functions, wherein the test information includes log entries; and

a determination entity for monitoring the log entries and determining whether the original program has a weak point based on a comparison of the test information with a predetermined weak point information provided in the testing function.

11. The device according to claim 10 , which is configured to execute a method comprising:

executing the original program and the test program in parallel on identical input data in the predetermined runtime environment, wherein the identical input data is real data from the real environment, wherein the testing functions log events occurring when executing the test program in the real environment;

obtaining the test information characterizing the execution of the test program; and

determining whether the original program has the weak point based on a comparison of the test information with the predetermined weak point information provided in the testing function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2020
From: STIJOHANN, JAN
To: SIEMENS AKTIENGESELLSCHAFT
Reel/Frame 052848/0435 →
Priority Claims (1)
EP 17193932 · Sep 29, 2017 · regional
Continuity (1)
Related Publication 20200278921A1 · Sep 3, 2020