IP Library › Granted Patent US 12,487,815
Granted Patent B2
US 12,487,815 · App. 18/524,420 · Granted Dec 2, 2025

System and method that assists with writing source code for software engineering tasks

Inventors: Mark Gabel (San Jose, CA); Daniel Lord (San Jose, CA)
Assignee: Laredo Labs, Inc.
G06F8/70G06F8/10G06F8/30G06F8/33G06F8/35G06Q10/06311
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,487,815
App. No.
18/524,420
Granted
Dec 2, 2025
Kind
B2
Abstract

A system stores a source code change, at a location in source code associated with a software engineering task, received from a software developer's code editor. The system receives a request from the code editor for predicted source code changes at a source code location, and retrieves context data which establishes the software engineering task's context. The system transforms the context data to be compatible with the data format used to train a machine-learning model to assist with performing software engineering tasks. The machine-learning model uses the transformed context data to predict source code changes at the source code location. The system outputs the predicted source code changes at the source code location to the software developer's code editor. The system commits source code changes based on any predicted source code changes at any source code locations, as accepted by the code editor.

Claims (42)

1 . A system that assists with writing source code for software engineering tasks, the system comprising:

one or more processors; and

a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:

store a source code change, at a location in source code associated with a software engineering task, received from a code editor associated with a software developer;

retrieve context data which establishes a context for the software engineering task, in response to receiving one of an implicit request or an explicit request from the code editor for predicted source code changes at a source code location associated with the software engineering task;

transform the context data to be compatible with a data format used to train a machine-learning model to assist with performing software engineering tasks;

predict, by the machine-learning model using the transformed context data, source code changes at the source code location;

output the predicted source code changes at the source code location to the code editor; and

commit source code changes based on any predicted source code changes at any source code location, as accepted by the code editor.

2 . The system of claim 1 , wherein the plurality of instructions further causes the one or more processors to output source code at the location in source code associated with the software engineering task to the code editor associated with the software developer, in response to receiving a request from the code editor to begin work at the location of the source code.

3 . The system of claim 1 , wherein the plurality of instructions further causes the one or more processors to enable the software developer to at least one of clarify an issue report which describes the software engineering task via an issue tracker associated with a stakeholder of the software engineering task or update the issue report to describe a strategy for completing the software engineering task.

4 . The system of claim 3 , wherein the plurality of instructions further causes the one or more processors to predict, by the machine-learning model, other source code changes at another source code location associated with the software engineering task, based on a modification to at least one of the predicted source code changes at the source code location or the issue report, received from at least one of the code editor or an issue tracker associated with the software developer.

5 . The system of claim 1 , wherein the source code changes comprise at least one of a) source code to be added at the source code location, b) source code to be removed at the source code location, c) source code to be replaced at the source code location, or d) any type of the source code changes but at another source code location.

6 . The system of claim 1 , wherein predicting source code changes, outputting the predicted source code changes, and committing source code changes based on any predicted source code changes at the source code location further comprises predicting additional source code changes, outputting the additional source code changes, and committing source code changes based on the additional source code changes at another source code location associated with the software engineering task.

7 . The system of claim 1 , wherein the plurality of instructions further causes the one or more processors to iteratively retrieve context data for source code changes at other source code locations, transform the context data for source code changes at the other source code locations, predict source code changes at the other source code locations, output the predicted source code changes at the other source code locations, and commit source code changes at the other source code locations until the software developer completes the software engineering task.

8 . A computer-implemented method that assists with writing source code for software engineering tasks, the method comprising:

storing a source code change, at a location in source code associated with a software engineering task, received from a code editor associated with a software developer;

retrieving context data which establishes a context for the software engineering task, in response to receiving one of an implicit request or an explicit request from the code editor for predicted source code changes at a source code location associated with the software engineering task;

transforming the context data to be compatible with a data format used to train a machine-learning model to assist with performing software engineering tasks;

predicting, by the machine-learning model using the transformed context data, source code changes at the source code location;

outputting the predicted source code changes at the source code location to the code editor; and

committing source code changes based on any predicted source code changes at any source code location, as accepted by the code editor.

9 . The method of claim 8 , wherein the computer-implemented method further comprises outputting source code at the location in source code associated with the software engineering task to the code editor associated with the software developer, in response to receiving a request from the code editor to begin work at the location of the source code.

10 . The method of claim 8 , wherein the computer-implemented method further comprises enabling the software developer to at least one of clarify an issue report which describes the software engineering task via an issue tracker associated with a stakeholder of the software engineering task or update the issue report to describe a strategy for completing the software engineering task.

11 . The method of claim 10 , wherein the computer-implemented method further comprises predicting, by the machine-learning model, other source code changes at another source code location associated with the software engineering task, based on a modification to at least one of the predicted source code changes at the source code location or the issue report, received from at least one of the code editor or an issue tracker associated with the software developer.

12 . The method of claim 8 , wherein the source code changes comprise at least one of a) source code to be added at the source code location, b) source code to be removed at the source code location, c) source code to be replaced at the source code location, or d) any type of the source code changes but at another source code location.

13 . The method of claim 8 , wherein predicting source code changes, outputting the predicted source code changes, and committing source code changes based on any predicted source code changes at the source code location further comprises predicting additional source code changes, outputting the additional source code changes, and committing source code changes based on the additional source code changes at another source code location associated with the software engineering task.

14 . The method of claim 8 , wherein the computer-implemented method further comprises iteratively retrieving context data for source code changes at other source code locations, transforming the context data for source code changes at the other source code locations, predicting source code changes at the other source code locations, outputting the predicted source code changes at the other source code locations, and committing source code changes at the other source code locations until the software developer completes the software engineering task.

15 . A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein to be executed by one or more processors, the program code including instructions to:

store a source code change, at a location in source code associated with a software engineering task, received from a code editor associated with a software developer;

retrieve context data which establishes a context for the software engineering task, in response to receiving one of an implicit request or an explicit request from the code editor for predicted source code changes at a source code location associated with the software engineering task;

transform the context data to be compatible with a data format used to train a machine-learning model to assist with performing software engineering tasks;

predict, by the machine-learning model using the transformed context data, source code changes at the source code location;

output the predicted source code changes at the source code location to the code editor; and

commit source code changes based on any predicted source code changes at any source code location, as accepted by the code editor.

16 . The computer program product of claim 15 , wherein the program code includes further instructions to

output source code at the location in source code associated with the software engineering task to the code editor associated with the software developer, in response to receiving a request from the code editor to begin work at the location of the source code; and

enable the software developer to at least one of clarify an issue report which describes the software engineering task via an issue tracker associated with a stakeholder of the software engineering task or update the issue report to describe a strategy for completing the software engineering task.

17 . The computer program product of claim 16 , wherein the program code includes further instructions to predict, by the machine-learning model, other source code changes at another source code location associated with the software engineering task, based on a modification to at least one of the predicted source code changes at the source code location or the issue report, received from at least one of the code editor or an issue tracker associated with the software developer.

18 . The computer program product of claim 15 , wherein the source code changes comprise at least one of a) source code to be added at the source code location, b) source code to be removed at the source code location, c) source code to be replaced at the source code location, or d) any type of the source code changes but at another source code location.

19 . The computer program product of claim 15 , wherein predicting source code changes, outputting the predicted source code changes, and committing source code changes based on any predicted source code changes at the source code location further comprises predicting additional source code changes, outputting the additional source code changes, and committing source code changes based on the additional source code changes at another source code location associated with the software engineering task.

20 . The computer program product of claim 15 , wherein the program code includes further instructions to iteratively retrieve context data for source code changes at other source code locations, transform the context data for source code changes at the other source code locations, predict source code changes at the other source code locations, output the predicted source code changes at the other source code locations, and commit source code changes at the other source code locations until the software developer completes the software engineering task.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2023
From: GABEL, MARK; LORD, DANIEL
To: LAREDO LABS, INC.
Reel/Frame 065717/0554 →
Continuity (2)
Provisional Application 63429655 · Dec 2, 2022
Related Publication 20240184535A1 · Jun 6, 2024
References Cited (7)
US 10459695B2 · Hauser · 2019 [cited by applicant]
US 10713594B2 · Szeto et al. · 2020 [cited by applicant]
US 11392370B2 · Cabrera Lozoya · 2022 [cited by examiner]
US 11748072B2 · Cappello · 2023 [cited by examiner]
US 20210342251A1 · Gnaneswaran et al. · 2021 [cited by applicant]
International Preliminary Report on Patentability from corresponding International Patent Application No. PCT/US2023/081802 dated May 27, 2025. [cited by applicant]
International Search Report and Written Opinion from corresponding International Patent Application No. PCT/US23/81802, dated Apr. 18, 2024. [cited by applicant]