IP Library Granted Patent US 12,197,315
Granted Patent B2
US 12,197,315 · App. 17/864,493 · Granted Jan 14, 2025

Software testing using a quantum computer system

Inventors: Leigh Griffin (Waterford, IE); Veera Raghava Beri Reddy (Bengaluru, IN); Srinivasa Bharath Kanta (Bangalore, IN)
Assignee: Red Hat, Inc.
G06F11/3688G06F11/3684G06N10/80
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 12,197,315
App. No.
17/864,493
Granted
Jan 14, 2025
Kind
B2
Abstract

In one example described herein a system can receive, by a server, a software test suite comprising a plurality of data files. Each data file of the plurality of data files can correspond to a test of the software test suite. The system can generate, by the server, a mapping that assigns, for each data file, a qubit of a quantum computer system to the data file. The system can generate, by the server, a quantum assembly language (QASM) file that indicates the mapping and one or more properties associated with the qubit for each data file. The system can send, by the server, the QASM file to the quantum computer system for execution by the quantum computer system. The system can cause, by the server, an action based on an output generated by the quantum computer system.

Claims (69)

1. A method comprising:

receiving, by a server, a software test suite comprising a plurality of data files, each data file of the plurality of data files corresponding to a test of the software test suite;

generating, by the server, a mapping that assigns, for each data file, a qubit of a quantum computer system to the data file;

generating, by the server, a quantum assembly language (QASM) file indicating the mapping and one or more properties associated with the qubit for each data file, the one or more properties being adjustable for each qubit and comprising one or more of a spin of the qubit, a polarization of the qubit, or an entanglement of the qubit;

providing, by the server, the QASM file to the quantum computer system for execution by the quantum computer system; and

causing, by the server, an action based on an output generated by the quantum computer system in response to the execution of the QASM file.

2. The method of claim 1 , wherein generating the mapping comprises:

receiving, for each data file, an assignment of the qubit, wherein the assignment is based on a characteristic of the software test suite or based on an execution of a machine-learning model trained to generate the mapping.

3. The method of claim 1 , wherein generating the QASM file further comprises:

specifying, in the QASM file, programmatic entanglement for each qubit in the mapping.

4. The method of claim 1 , further comprising:

receiving the one or more properties for each qubit, wherein the one or more properties indicate initial state information for the qubit for each data file; and

specifying, in the QASM file, updated state information for the qubit, the updated state information including one or more different values than the initial state information.

5. The method of claim 4 , further comprising:

subsequent to the execution of the QASM file, sending a notification to the quantum computer system, the notification being configured to:

cause the quantum computer system to deallocate the qubit for each data file; and

adjust the one or more properties to the updated state information.

6. The method of claim 1 , further comprising:

determining that the output indicates a failure of at least one data file of the software test suite; and

causing the action by generating a notification of the failure or stopping a code push of a software application associated with the software test suite.

7. The method of claim 1 , further comprising:

determining that the output indicates a success of the software test suite; and

causing the action by packaging a software application associated with the software test suite, distributing the software application, or pushing the software application for production.

8. A system comprising:

a processing device; and

a memory device including instructions executable by the processing device for causing the processing device to:

receive, by a server, a software test suite comprising a plurality of data files, each data file of the plurality of data files corresponding to a test of the software test suite;

generate, by the server, a mapping that assigns, for each data file, a qubit of a quantum computer system to the data file;

generate, by the server, a quantum assembly language (QASM) file indicating the mapping and one or more properties associated with the qubit for each data file, the one or more properties being adjustable for each qubit and comprising one or more of a spin of the qubit, a polarization of the qubit, or an entanglement of the gubit;

provide, by the server, the QASM file to the quantum computer system for execution by the quantum computer system; and

cause, by the server, an action based on an output generated by the quantum computer system in response to the execution of the QASM file.

9. The system of claim 8 , wherein the memory device further includes instructions executable by the processing device for causing the processing device to generate the mapping by:

receiving, for each data file, an assignment of the qubit, wherein the assignment is based on a characteristic of the software test suite or based on an execution of a machine-learning model trained to generate the mapping.

10. The system of claim 8 , wherein the memory device further includes instructions executable by the processing device for causing the processing device to further generate the QASM file by:

specify programmatic entanglement each qubit in the mapping.

11. The system of claim 8 , wherein the memory device further includes instructions executable by the processing device for causing the processing device to:

receive the one or more properties for each qubit, wherein the one or more properties indicate initial state information for the qubit for each data file; and

specify, in the QASM file, updated state information for the qubit, the updated state information including one or more different values than the initial state information.

12. The system of claim 11 , wherein the memory device further includes instructions executable by the processing device for causing the processing device to:

subsequent to the execution of the QASM file, send a notification to the quantum computer system, the notification being configured to:

cause the quantum computer system to deallocate the qubit for each data file; and

adjust the one or more properties to the updated state information.

13. The system of claim 8 , wherein the memory device further includes instructions executable by the processing device for causing the processing device to:

determine that the output indicates a failure of at least one data file of the software test suite; and

cause the action by generating a notification of the failure or stopping a code push of a software application associated with the software test suite.

14. The system of claim 8 , wherein the memory device further includes instructions executable by the processing device for causing the processing device to:

determine that the output indicates a success of the software test suite; and

cause the action by packaging a software application associated with the software test suite, distributing the software application, or pushing the software application for production.

15. A non-transitory computer-readable medium comprising program code that is executable by a processing device for causing the processing device to:

receive, by a server, a software test suite comprising a plurality of data files, each data file of the plurality of data files corresponding to a test of the software test suite;

generate, by the server, a mapping that assigns, for each data file, a qubit of a quantum computer system to the data file;

generate, by the server, a quantum assembly language (QASM) file indicating the mapping and one or more properties associated with the qubit for each data file, the one or more properties being adjustable for each qubit and comprising one or more of a spin of the qubit, a polarization of the qubit, or an entanglement of the qubit;

provide, by the server, the QASM file to the quantum computer system for execution by the quantum computer system; and

cause, by the server, an action based on an output generated by the quantum computer system in response to the execution of the QASM file.

16. The non-transitory computer-readable medium of claim 15 , further comprising program code that is executable by the processing device for causing the processing device to generate the mapping by:

receiving, for each data file, an assignment of the qubit, wherein the assignment is based on a characteristic of the software test suite or based on an execution of a machine-learning model trained to generate the mapping.

17. The non-transitory computer-readable medium of claim 15 , further comprising program code that is executable by the processing device for causing the processing device to:

receive the one or more properties for each qubit, wherein the one or more properties indicate initial state information for the qubit for each data file; and

specify, in the QASM file, updated state information for the qubit, the updated state information including one or more different values than the initial state information.

18. The non-transitory computer-readable medium of claim 17 , further comprising program code that is executable by the processing device for causing the processing device to:

subsequent to the execution of the QASM file, send a notification to the quantum computer system, the notification being configured to:

cause the quantum computer system to deallocate the qubit for each data file; and

adjust the one or more properties to the updated state information.

19. The non-transitory computer-readable medium of claim 15 , further comprising program code that is executable by the processing device for causing the processing device to:

determine that the output indicates a failure of at least one data file of the software test suite; and

cause the action by generating a notification of the failure or stopping a code push of a software application associated with the software test suite.

20. The non-transitory computer-readable medium of claim 15 , further comprising program code that is executable by the processing device for causing the processing device to:

determine that the output indicates a success of the software test suite; and

cause the action by packaging a software application associated with the software test suite, distributing the software application, or pushing the software application for production.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2022
From: GRIFFIN, LEIGH; REDDY, VEERA RAGHAVA BERI; KANTA, SRINIVASA BHARATH
To: RED HAT, INC.
Reel/Frame 060502/0108 →