IP Library Granted Patent US 11,625,227
Granted Patent B2
US 11,625,227 · App. 17/886,501 · Granted Apr 11, 2023

Augmented intelligence for creating software development artifacts

Inventor: Sunil Kaitha (Plano, TX)
Assignee: Capital One Services, LLC
G06F8/35G06N3/04G06N3/08
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,625,227
App. No.
17/886,501
Granted
Apr 11, 2023
Kind
B2
Abstract

Embodiments disclose systems and methods for generating source code. One or more application specific inputs and one or more external inputs are received. Using a machine learning model, source code is automatically generated based on the one or more application specific inputs and the one or more external inputs. The source code can embody the one or more application specific inputs and the one or more external inputs. One or more revisions to the automatically generated source code may be made, and a difference determined between the generated source code and the revised source code. The machine learning model may be further trained to generate a future source code based on the differences it determines.

Claims (59)

1. A computer implemented method for generating source code, the method comprising:

receiving, by one or more computing devices, one or more application specific inputs;

automatically generating, by the one or more computing devices and using a machine learning model, source code embodying the one or more application specific inputs based on:

matching the one or more application specific inputs to descriptions or parameters of software templates,

determining whether the descriptions or parameters of the software templates indicate that the software templates perform functions required by the one or more application specific inputs,

if it is determined that any of the software templates perform the functions required by the one or more application specific inputs, copying the software templates as the source code, and

if it is determined no software templates perform the functions required by the one or more application specific inputs, copying the source code from the software templates matching closest in function to the functions required by the one or more application specific inputs as the source code.

2. The computer implemented method of claim 1 , wherein the matching of the one or more application specific inputs to the descriptions or parameters of the software templates is performed using a natural language processing (NLP) method, wherein the NLP method parses a textual description of the software templates and matches the textual description to the one or more application specific inputs.

3. The computer implemented method of claim 1 , further comprising matching, by the one or more computing devices, the one or more application specific inputs to the software templates using machine learning classifier architectures trained to recognize patterns of application specific inputs and match the patterns to the software templates.

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

tracking, by the one or more computing devices, modifications to the source code; and

storing, by the one or more computing devices, the modifications to the source code as a further software template; and

utilizing the further software template as part of the software templates when generating a further source code.

5. The computer implemented method of claim 4 , wherein the tracking of the modifications to the source code is performed by monitoring, by the one or more computing devices, keystrokes indicating changes to the source code.

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

receiving, by the one or more computing devices, one or more external inputs; and

generating, by the one or more computing devices, the source code embodying the one or more external inputs.

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

receiving, by the one or more computing devices, one or more production inputs; and

generating, by the one or more computing devices, the source code embodying the one or more production inputs.

8. A non-transitory computer readable medium including instructions for generating source code that, when executed by a computing system, cause the computing system to perform operations comprising:

receiving, by one or more computing devices, one or more application specific inputs;

automatically generating, by the one or more computing devices and using a machine learning model, source code embodying the one or more application specific inputs based on:

matching the one or more application specific inputs to descriptions or parameters of software templates,

determining whether the descriptions or parameters of the software templates indicate that the software templates perform functions required by the one or more application specific inputs,

if it is determined that any of the software templates perform the functions required by the one or more application specific inputs, copying the software templates as the source code, and

if it is determine no software templates perform the functions required by the one or more application specific inputs, copying the source code from the software templates matching closest in function to the functions required by the one or more application specific inputs as the source code.

9. The non-transitory computer readable medium of claim 8 , wherein the matching of the one or more application specific inputs to the descriptions or parameters of the software templates is performed using a natural language processing (NLP) method, wherein the NLP method parses a textual description of the software templates and matches the textual description to the one or more application specific inputs.

10. The non-transitory computer readable medium of claim 8 , wherein the operations further comprise matching, by the one or more computing devices, the one or more application specific inputs to the software templates using machine learning classifier architectures trained to recognize patterns of application specific inputs and match the patterns to the software templates.

11. The non-transitory computer readable medium of claim 8 , wherein the operations further comprise:

tracking, by the one or more computing devices, modifications to the source code; and

storing, by the one or more computing devices, the modifications to the source code as a further software template; and

utilizing the further software template as part of the software templates when generating a further source code.

12. The non-transitory computer readable medium of claim 11 , wherein the tracking of the modifications to the source code is performed by monitoring, by the one or more computing devices, keystrokes indicating changes to the source code.

13. The non-transitory computer readable medium of claim 8 , wherein the operations further comprise:

receiving, by the one or more computing devices, one or more external inputs; and

generating, by the one or more computing devices, the source code embodying the one or more external inputs.

14. The non-transitory computer readable medium of claim 8 , wherein the operations further comprise:

receiving, by the one or more computing devices, one or more production inputs; and

generating, by the one or more computing devices, the source code embodying the one or more production inputs.

15. A computing system for generating source code comprising:

a memory storing instructions; and

a control unit, coupled to the memory, configured to process the stored instructions to:

receive one or more application specific inputs;

automatically generate, using a machine learning model, source code embodying the one or more application specific inputs based on steps comprising:

match the one or more application specific inputs to descriptions or parameters of software templates,

determine whether the descriptions or parameters of the software templates indicate that the software templates perform functions required by the one or more application specific inputs,

if it is determined that any of the software templates perform the functions required by the one or more application specific inputs, copy the software templates as the source code, and

if it is determined no software templates perform the functions required by the one or more application specific inputs, copy the source code from the software templates matching closest in function to the functions required by the one or more application specific inputs as the source code.

16. The computing system of claim 15 , wherein the matching of the one or more application specific inputs to the descriptions or parameters of the software templates is performed using a natural language processing (NLP) method, wherein the NLP method parses a textual description of the software templates and matches the textual description to the one or more application specific inputs.

17. The computing system of claim 15 , wherein the control unit is further configured to match the one or more application specific inputs to the software templates using machine learning classifier architectures trained to recognize patterns of application specific inputs and match the patterns to the software templates.

18. The computing system of claim 15 , wherein the control unit is further configured to:

track modifications to the source code; and

transmit for storage the modifications to the source code as a further software template; and

utilize the further software template as part of the software templates when generating a further source code.

19. The computing system of claim 18 , wherein the control unit is further configured to track the modifications to the source code by monitoring keystrokes indicating changes to the source code.

20. The computing system of claim 15 wherein the control unit is further configured to:

receive one or more external inputs or one or more production inputs; and

generate the source code embodying the one or more external inputs or the one or more production inputs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2022
From: KAITHA, SUNIL
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 060790/0788 →
Continuity (2)
Continuation 17189326 · Mar 2, 2021
Related Publication 20220382525A1 · Dec 1, 2022
Cited By (2)
US 12,705,036 US 12,710,935