IP Library Granted Patent US 11,669,307
Granted Patent B2
US 11,669,307 · App. 17/244,905 · Granted Jun 6, 2023

Code injection from natural language derived intent

Inventor: Kevin John Alwell (Colts Neck, NJ)
Assignee: Microsoft Technology Licensing, LLC
G06F8/33G06F3/16G06F40/40G10L15/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 11,669,307
App. No.
17/244,905
Granted
Jun 6, 2023
Kind
B2
Abstract

An intent broker component that is configured to facilitate the use of voice to develop code in a source code editor. This is accomplished by using intent parameters that are generated by a natural language processor in response to receiving verbal input from a developer operating with the source code editor. These intent parameters includes an action name and a parameter upon which to perform the named action. The intent parameters are then used to generate input to a code injection component that operates in the source code editor.

Claims (50)

1. A computing system that facilitates use of voice input to develop code in a source code editor, the computing system comprising:

at least one processor; and

at least one hardware storage device that stores instructions that are executable by the at least one processor to cause the computing system to:

obtain a plurality of intent parameters generated by a natural language processor, the plurality of intent parameters including an action name and a parameter for an action identified by the action name; and

use the plurality of intent parameters to generate input to a code injection component that operates in a source code editor so that the code injection component generates output in the source code editor, wherein generating the output in the source code editor includes:

determining an edit point in the source code editor, the source code editor comprising source code, the edit point being a point in the source code where one or more coding features are permitted to be entered;

determining a context for the source code at the edit point, wherein the context includes information about a coding feature that is available for use at the edit point but that might not otherwise be available for use at a different edit point in the source code such that the context is end point specific context;

based on the end point specific context that currently exists at the edit point within the source code, displaying, at the edit point in the source code, the coding feature as an auto-suggested feature; and

receiving a voice input command that accepts the coding feature such that the coding feature is incorporated into the source code at the edit point.

2. The computing system in accordance with claim 1 , the output comprising autocomplete options within the source code editor.

3. The computing system in accordance with claim 1 , the instructions being further executable to cause to the computing system to:

obtain audio from an audio capture component that captures audio of a developer operating in the source code editor; and

generate the plurality of intent parameters.

4. The computing system in accordance with claim 3 , the natural language component being executed in a cloud computing environment, the natural language component obtaining the audio from the audio capture component by subscribing to a web socket that is running on a developer computing system that is running the source code editor.

5. The computing system in accordance with claim 1 , wherein using the plurality of intent parameters to generate the input to the code injection component comprises passing the intent parameters directly as input to the code injection component.

6. The computing system in accordance with claim 1 , the action name comprising a comment action, the parameter including text to include in a comment, the output in the source code editor including an insertion or offering to insert of the comment that includes the text.

7. The computing system in accordance with claim 1 , the action name comprising a define action, the parameter including a function name of a function and one or more arguments of the function, the output in the source code editor including an insertion or offering to insert new source code that defines the function with the one or more arguments.

8. The computing system in accordance with claim 1 , wherein:

the action name is one of a first action name or a second action name,

in response to the action name being the first action name, the broker component passes the plurality of intent parameters to the code injection component, and

in response to the action name being the second action name, the intent broker component generates input that is at least partially different from the plurality of intent parameters, and passes that input to the code injection component.

9. The computing system in accordance with claim 1 , wherein:

the action name is one of a first name or a second action name,

in response to the action name being the first action name, the intent broker component selects a first sub-component to provide the input to the code injection component, and

in response to the action name being the second action name, the intent broker component selects a second sub-component to provide the input to the code injection component.

10. A method for facilitating use of voice input to develop code in a source code editor, the method performed by an intent broker component that operates between a natural language processor and a code injection component, the method comprising:

obtaining a plurality of intent parameters generated by the natural language processor, the plurality of intent parameters including an action name and a parameter for an action identified by the action name; and

using the plurality of intent parameters to generate input to the code injection component that operates in the source code editor so that the code injection component generates output in the source code editor, wherein generating the output in the source code editor includes:

determining an edit point in the source code editor, the source code editor comprising source code, the edit point being a point in the source code where one or more coding features are permitted to be entered;

determining a context for the source code at the edit point, wherein the context includes information about a coding feature that is available for use at the edit point but that might not otherwise be available for use at a different edit point in the source code such that the context is end point specific context;

based on the end point specific context that currently exists at the edit point within the source code, displaying, at the edit point in the source code, the coding feature as an auto-suggested feature; and

receiving a voice input command that accepts the coding feature such that the coding feature is incorporated into the source code at the edit point.

11. The method in accordance with claim 10 , the output comprising autocomplete options within the source code editor.

12. The method in accordance with claim 11 , further comprising the following performed by the natural language processor:

obtaining audio from an audio capture component that captures audio of a developer operating in the source code editor; and

generating the plurality of intent parameters.

13. The method in accordance with claim 10 , wherein using the plurality of intent parameters to generate the input to the code injection component comprises passing the intent parameters directly as input to the code injection component.

14. The method in accordance with claim 10 , the action name comprising a comment action, the parameter including text to include in a comment, the output in the source code editor including insertion or offering to insert the comment that includes the text.

15. The method in accordance with claim 10 , the action name comprising a define action, the parameter including a function name of a function and one or more arguments of the function, the output in the source code editor including insertion or offering to insert new source code that defines the function with the one or more arguments.

16. A computer system that facilitates use of voice input to develop code in a source code editor, the computer system comprising:

at least one processor; and

at least one hardware storage device that stores instructions that are executable by the at least one processor to cause the computer system to:

determine an edit point in a source code editor, the source code editor comprising source code, the edit point being a point in the source code where one or more coding features are permitted to be entered;

determine a context for the source code as the context exists up to and including the edit point, wherein the context includes information about a coding feature that is available for use at the edit point but that might not otherwise be available for use at a different edit point in the source code such that the context is end point specific context;

display, at the edit point in the source code, the coding feature as an auto-suggested feature, wherein determining which coding feature to display is predicated on the end point specific context; and

receive a voice input command that accepts the coding feature such that the coding feature is incorporated into the source code at the edit point.

17. The computer system of claim 16 , wherein the end point specific context describes at least one of a variable in the source code or a function in the source code.

18. The computer system of claim 16 , wherein the end point specific context describes a data model of a program at the edit point.

19. The computer system of claim 16 , wherein the end point specific context describes a schema of an input or output parameter for a function.

20. The computer system of claim 16 , wherein the end point specific context describes a name of a variable that is available for use at the edit point.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2021
From: ALWELL, KEVIN JOHN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 056692/0561 →
Continuity (1)
Related Publication 20220350574A1 · Nov 3, 2022