The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Jul. 16, 2024

Filed:

May. 15, 2021
Applicant:

Microsoft Technology Licensing, Llc., Redmond, WA (US);

Inventors:

Miltiadis Allamanis, Cambridge, GB;

Daya Guo, Zhuhai, CN;

Shao Kun Deng, Bellevue, WA (US);

Neelakantan Sundaresan, Bellevue, WA (US);

Alexey Svyatkovskiy, Bellevue, WA (US);

Assignee:
Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 9/44 (2018.01); G06F 8/33 (2018.01); G06F 8/41 (2018.01); G06N 3/084 (2023.01);
U.S. Cl.
CPC ...
G06F 8/33 (2013.01); G06F 8/427 (2013.01); G06N 3/084 (2013.01);
Abstract

A code completion tool uses a neural transformer model with attention to generate syntactically-correct candidates with holes to complete a partially-formed code snippet. The model is trained to predict the expansion of non-terminal symbols of the production rules of the underlying grammar of the code snippet without being constrained to a left-to-right expansion order. A hole is a non-terminal symbol of the grammar of a programming language that marks a position in a candidate where the code completion engine is not certain of the production rule that should be used to expand the non-terminal symbol. The hole allows the code completion engine to expand other non-terminal symbols in a candidate and allow the user to guide the expansion of the holes in a candidate.


Find Patent Forward Citations

Loading…