IP Library Granted Patent US 12,056,469
Granted Patent B2
US 12,056,469 · App. 17/377,556 · Granted Aug 6, 2024

Autonomous generation of GRC programs

Inventors: Filipe Joao Afonso Barroso (Medford, MA); Chester Lee (Westwood, MA); Silvia Lopez (Tewksbury, MA); Yuhong Yin (Westford, MA); Lakshmanan Annamalai (Littleton, MA)
Assignee: International Business Machines Corporation
G06F8/35G06F16/128G06N20/00G06Q10/06375G06Q10/103G06Q40/06G06Q40/08G06Q50/26
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,056,469
App. No.
17/377,556
Granted
Aug 6, 2024
Kind
B2
Abstract

Methods and systems for generating a computer program for a governance, risk, compliance (GRC) system are described. In an example, a processor may detect a change among a plurality of objects in the GRC system. The processor may generate a snapshot of the plurality of objects in response to the detected change. The snapshot may include the detected change among the plurality of objects. The processor may train a machine learning model using the snapshot. The trained machine learning model may indicate relationships among a set of related objects, where the related objects may be among the plurality of objects. The processor may generate a computer program based on the trained machine learning model. The computer program may include a set of instructions for setting a field value of an object among the set of related objects.

Claims (66)

1. A computer-implemented method of generating a computer program for a governance, risk, compliance (GRC) system, the method comprising:

detecting, by a processor, at least one change made to a plurality of objects of a database in a GRC system;

generating, by the processor, a plurality of snapshots of the database, wherein a snapshot of the database is generated in response to every change among the at least one change detected by the processor and each snapshot of the database includes a corresponding detected change made to the plurality of objects;

training, by the processor, a machine learning model using the plurality of snapshots of the database, the trained machine model indicating relationships among a set of related objects, wherein the related objects are among the plurality of objects;

applying, by the processor, a set of grammar rules on the relationships among the set of related objects, and fields of the set of related objects, indicated by the machine learning model to generate a computer program, wherein the computer program comprises a set of instructions for performing a set field operation on at least one object among the set of related objects; and

identifying, by the processor, an input field and an operation, based on the applied grammar rules, wherein an application of the identified operation on the input field outputs a result for performing the set field operation on the at least one object among the set of related objects.

2. The computer-implemented method of claim 1 , further comprising enabling, by the processor, the computer program on an application.

3. The computer-implemented method of claim 2 , further comprising: outputting, by the processor, the computer program on a user interface; and

receiving, by the processor, a user input indicating an approval of the computer program, wherein enabling the computer program is performed in response to receiving the user input indicating the approval of the computer program.

4. The computer-implemented method of claim 2 , further comprising:

outputting, by the processor, the computer program on a user interface;

receiving, by the processor, a user input indicating a need to revise the computer program; and

revising, by the processor, the computer program based on the user input indicating the need to revise the computer program.

5. The computer-implemented method of claim 1 , further comprising:

determining, by the processor, a new relationship among the plurality of objects based on the machine learning model; and

updating, by the processor, a memory storing a plurality of relationships among the plurality of objects, and among fields of the plurality of objects, in the GRC system with the new relationship.

6. The computer-implemented method of claim 1 , further comprising:

running, by the processor, the computer program using a default value of an input field of the computer program to perform the set field operation on the at least one object among the set of related objects to a result value;

comparing, by the processor, the result value with a threshold;

adjusting, by the processor, the default value of the input field based on the comparison of the result value with the threshold, wherein the running, comparing, and adjusting are performed until the result value reaches the threshold; and

setting, by the processor, a constraint on the input field of the computer program in response to the result value reaching the threshold.

7. The computer-implemented method of claim 1 , further comprising:

determining, by the processor, an of snapshots stored in a memory; and

training, by the processor, the machine learning model in response to the amount of snapshots stored in the memory reaching a threshold.

8. A system comprising:

a memory;

a processor configured to be in communication with the memory, the processor being configured to:

detect at least one change made to a plurality of objects of a database in a governance, risk, compliance (GRC) system;

generate a plurality of snapshots of the database, wherein a snapshot of the database is generated in response to every change among the at least one change detected by the processor and each snapshot of the database includes a corresponding detected change made to the plurality of objects;

train a machine learning model using the plurality of snapshots of the database, the trained machine model indicating relationships among a set of related objects, wherein the related objects are among the plurality of objects;

apply a set of grammar rules on the relationships among the set of related objects, and fields of the set of related objects, indicated by the machine learning model to generate a computer program, wherein the computer program comprises a set of instructions for performing a set field operation on at least one object among the set of related objects; and

identify an input field and an operation, based on the applied grammar rules, wherein an application of the identified operation on the input field outputs a result for performing the set field operation on the at least one object among the set of related objects.

9. The system of claim 8 , wherein the processor is further configured to enable the computer program on an application.

10. The system of claim 9 wherein the processor is further configured to:

output the computer program on a user interface; and

receive a user input indicating an approval of the computer program, wherein enabling the computer program is performed in response to receiving the user input indicating the approval of the computer program.

11. The system of claim 9 , wherein the processor is further configured to:

output the computer program on a user interface;

receive a user input indicating a need to revise the computer program; and

revise the computer program based on the user input indicating the need to revise the computer program.

12. The system of claim 8 , wherein the memory is configured to store a plurality of relationships among the plurality of objects in the GRC system, and among fields of the plurality of objects, and the processor is further configured to:

determine a new relationship among the plurality of objects based on the machine learning model; and

update the memory with the new relationship.

13. The system of claim 8 , wherein the processor is further configured to:

run the computer program using a default value of an input field of the computer program to perform the set field operation on the at least one object among the set of related objects to a result value;

compare the result value with a threshold;

adjust the default value of the input field based on the comparison of the result value with the threshold, wherein the running, comparing, and adjusting are performed until the result value reaches the threshold; and

set a constraint on the input field of the computer program in response to the result value reaches the threshold.

14. The system of claim 8 , wherein the processor is further configured to:

determine an amount of snapshots stored in the memory; and

train the machine learning model in response to the amount of snapshots stored in the memory reaching a threshold.

15. A computer program product for generating a computer program in a GRC system, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processing element of a device to cause the device to:

detect at least one change made to a plurality of objects of a database in a governance, risk, compliance (GRC) system;

generate plurality of snapshots of the database, wherein a snapshot of the database is generated in response to every change among the at least one change detected by the processor and each snapshot of the database includes a corresponding detected change made to the plurality of objects;

train a machine learning model using the plurality of snapshots of the database, the trained machine model indicating relationships among a set of related objects, wherein the related objects are among the plurality of objects;

apply a set of grammar rules on the relationships among the set of related objects, and fields of the set of related objects, indicated by the machine learning model to generate a computer program, wherein the computer program comprises a set of instructions for performing a set field operation on at least one object among the set of related objects; and

identify an input field and an operation, based on the applied grammar rules, wherein an application of the identified operation on the input field outputs a result for performing the set field operation on the at least one object among the set of related objects.

16. The computer program product of claim 15 , wherein the program instructions are further executable by the processing element of the device to cause the device to enable the computer program on an application.

17. The computer program product of claim 15 , wherein the program instructions are further executable by the processing element of the device to cause the device to:

determine a new relationship among the plurality of objects based on the machine learning model; and

update a memory storing a plurality of relationships among the plurality of objects, and among fields of the plurality of objects, in the GRC system with the new relationship.

18. The computer program product of claim 15 , wherein the program instructions are further executable by the processing element of the device to cause the device to:

run the computer program using a default value of an input field of the computer program to perform the set field operation on the at least one object among the set of related objects to a result value;

compare the result value with a threshold;

adjust the default value of the input field based on the comparison of the result value with the threshold, wherein the running, comparing, and adjusting are performed until the result value reaches the threshold; and

set a constraint on the input field of the computer program in response to the result value reaches the threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2021
From: BARROSO, FILIPE JOAO AFONSO; LEE, CHESTER; LOPEZ, SILVIA; YIN, YUHONG; ANNAMALAI, LAKSHMANAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 056879/0322 →
Continuity (1)
Related Publication 20230018159A1 · Jan 19, 2023