IP Library Granted Patent US 7,865,793
Granted Patent B2
US 7,865,793 · App. 12/113,116 · Granted Jan 4, 2011

Test case generation with backward propagation of predefined results and operand dependencies

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 7,865,793
App. No.
12/113,116
Granted
Jan 4, 2011
Kind
B2
Abstract

A method of generating a test case from a given test case structure, the method including generating instructions for the given test case structure, propagating predefined results in a backwards manner, randomly generating remaining operands of the test case structure in a forwards manner, and calculating a result for the test case by determining missing input operands and storing these input operands in both the temporary register file and the initial register file, and calculating missing results and storing all results in the temporary register file.

Claims (21)

1. A method of generating a test case from a given test case structure, the method comprising:

generating instructions for the given test case structure, the generating of instructions comprising:

taking predefined instruction mnemonics from the test case structure;

resolving instruction groups by randomly selecting a group member; and

resolving a wildcard in the instruction mnemonic by randomly entering an instruction for the wildcard;

propagating predefined results in a backwards manner, starting with the last entry in the test case structure, the propagating comprising:

calculating missing input operands required to obtain a predefined result; and

storing values of these input operands in a temporary register file; and

randomly generating remaining operands of the test case structure in a forward manner, starting with the first entry of the test case structure, the generating comprising:

copying the input operand values stored in the temporary register file to an initial register file; and

calculating a result for the test case by determining missing input operands and storing these input operands in both the temporary register file and the initial register file; and

calculating missing results and storing all results in the temporary register file,

wherein in the propagating, if both the result is a specific value and the result address is a specific register address and the corresponding temporary register contains a specific value, and the two values are different, returning a conflict,

wherein in the propagating, if both the result references an operand group and the result address is a specific register address and the corresponding temporary register contains a specific value, and the temporary register value matches the operand group, filling the result with the temporary register value,

wherein in the propagating, if the temporary register value does not match the operand group, returning a conflict,

wherein in the propagating, if the result references an operand group, resolve operand group by randomly selecting one group member,

wherein in the propagating, if the result address is a specific register address and the corresponding temporary register contains a specific value, filling the result with the value from the temporary register file,

wherein in the propagating, if the result address is not a specific register address, choosing the result address such that it matches the instruction definition and refers to an unused temporary register,

wherein in the propagating, if there is no solution, returning a conflict,

wherein if a conflict is returned, resolving the conflict, and

wherein in the generating of the remaining operands, if a result address does not contain a specific address, choosing the result address such that the result address matches the instruction definition and refers to an unused temporary register.

Assignments (3)
MERGER AND CHANGE OF NAME Recorded Jun 18, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 057261/0545 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2013
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 029733/0156 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2008
From: LETZ, STEFAN; VIELFORT, JUERGEN; WEBER, KAI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020939/0424 →