US 12,229,533 B2
Multi-lingual line-of-code completion system
Alexey Svyatkovskiy, Bellevue, WA (US); Shengyu Fu, Redmond, WA (US); Neelakantan Sundaresan, Bellevue, WA (US); and Shao Kun Deng, Bellevue, WA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by MICROSOFT TECHNOLOGY LICENSING, LLC., Redmond, WA (US)
Filed on Aug. 9, 2023, as Appl. No. 18/232,326.
Application 18/232,326 is a continuation of application No. 17/580,609, filed on Jan. 20, 2022, granted, now 11,809,842.
Application 17/580,609 is a continuation of application No. 16/680,328, filed on Nov. 11, 2019, granted, now 11,262,984.
Claims priority of provisional application 62/881,736, filed on Aug. 1, 2019.
Prior Publication US 2024/0028306 A1, Jan. 25, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 8/33 (2018.01); G06F 8/34 (2018.01); G06F 16/901 (2019.01); G06F 17/16 (2006.01); G06F 17/18 (2006.01); G06N 3/04 (2023.01); G06N 3/08 (2023.01); G06N 3/088 (2023.01); G06N 5/04 (2023.01); G06F 8/35 (2018.01); G06F 8/71 (2018.01); G06F 8/75 (2018.01); G06N 3/045 (2023.01); G06N 3/084 (2023.01)
CPC G06F 8/33 (2013.01) [G06F 16/9027 (2019.01); G06F 17/16 (2013.01); G06F 17/18 (2013.01); G06N 3/088 (2013.01); G06N 5/04 (2013.01); G06F 8/35 (2013.01); G06F 8/71 (2013.01); G06F 8/75 (2013.01); G06N 3/045 (2023.01); G06N 3/084 (2013.01)] 14 Claims
OG exemplary drawing
 
1. A system comprising:
a processor; and
a memory that stores a program that is configured to be executed by the processor, wherein the program comprises instructions to perform actions that:
continuously track characters entered into a source code program during an editing process; and
at a position in a line of the source code program, detect a partially-formed line of source code;
search for at least one candidate sequence to complete the line of source code, wherein the at least one candidate sequence comprises a sequence of source code tokens, wherein the search generates the at least one candidate sequence to complete the line of source code based on a conditional probability generated by a neural transformer model with attention at each time step of the search, wherein the conditional probability indicates a likelihood of a next source code token to follow preceding source code tokens in a candidate sequence, wherein the neural transformer model with attention is given a context of the line of source code, wherein the neural transformer model with attention is trained to learn the syntax and relationships between code elements of different programming languages; and
output the at least one candidate sequence for user selection in a user interface of the editing process.