Prosecution Insights
Last updated: July 17, 2026
Application No. 18/229,485

PROVISIONAL SELECTION DRIVES EDIT SUGGESTION GENERATION

Final Rejection §103
Filed
Aug 02, 2023
Priority
Apr 22, 2021 — continuation of 11/763,078
Examiner
NGUYEN, CHAU T
Art Unit
2145
Tech Center
2100 — Computer Architecture & Software
Assignee
Microsoft Technology Licensing, LLC
OA Round
2 (Final)
68%
Grant Probability
Favorable
3-4
OA Rounds
1y 0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 68% — above average
68%
Career Allowance Rate
378 granted / 558 resolved
+12.7% vs TC avg
Strong +31% interview lift
Without
With
+31.0%
Interview Lift
resolved cases with interview
Typical timeline
3y 11m
Avg Prosecution
20 currently pending
Career history
590
Total Applications
across all art units

Statute-Specific Performance

§101
5.5%
-34.5% vs TC avg
§103
75.1%
+35.1% vs TC avg
§102
11.8%
-28.2% vs TC avg
§112
4.6%
-35.4% vs TC avg
Black line = Tech Center average estimate • Based on career data from 558 resolved cases

Office Action

§103
DETAILED ACTION Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Amendment filed on 01/31/2026 has been entered. Claims 1, 3-12, 14-22 are pending. Claims 2 and 13 have been canceled without prejudice. Claims 21-22 are newly added. Claims 1, 3-4, 6-8, 12 and 15-20 are currently amended. Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claims 1, 3-12, 14-22 are rejected under 35 U.S.C. 103 as being unpatentable over Smith et al. (Smith), US Patent Application Publication No. US 2020/0097261 A1, and further in view of Johnston, US Patent No. 9,141,344 B2. As to independent claim 1, Smith discloses a computing system comprising: a digital memory, the digital memory configurable to contain a document, the document including document text (paragraphs [0038]-[0040]: memory/code storages that store computer code such as source code (document)); a processor in operable communication with the digital memory (paragraph [0038]: the computer system may include a processor and a memory); a display device (paragraph [0151]: the computer system may further include a display); an editor having a user interface which upon execution with the processor displays at least a portion of the document on the display device, the user interface including a text insertion point (paragraphs [0006] and [0060]: an event is detected in an editor that triggers code completion, the programming co-pilot system may determine features indicative of source code (document) where the code completion occurs, such as a cursor location (text insertion point); editor 302 and interface 304 for editing source code); wherein the editor is configured to perform edit automation steps upon execution with the processor, including automatically (a) submitting edit context information, which includes a selected completion set entry of a multi-entry completion set that is displayed in the user interface (paragraph [0066] and Figure 4: a source code file is opened and loaded from memory and visually displayed in the editor 302, the editor 302 responds to inputs of the programmer to perform edits; paragraph [0059] and Figure 2B: machine learning model perform inference on input, wherein the input may comprise any of source code, user actions, system events, the location of code, related text that relates to source code, and the machine learning model generates an output comprising information or data relevant to helping a programmer, such as a source code completion, predicted edit, predicted navigation, or generated snippets and these are considered as multi-entry completion set) (b) getting from the suggestion generation model a completion text suggestion which is based at least in part on the selected completion set entry (paragraph [0069]: the code completion system may analyze or identify a set of features to determine what code snippets to retrieve to offer as candidate code completions, wherein features (provisional selection) that may be used include the current cursor position in editor, the token immediately preceding the cursor, or most recent token or a plurality of recent tokens typed by the programmer, etc. and the features are used as inputs to a machine learning model in order to perform prediction), and (c) displaying the completion text suggestion near the text insertion point (paragraph [0008]: the features of the code and the keywords entered by the user are used together to identify relevant code snippets for display to the user). Smith, however, does not disclose the edit context information includes a provisionally selected completion set entry that includes a source code overloaded method suggestion that is selected from a plurality of possible line completions. In the same field of endeavor, Johnston discloses hover help is a graphical user interface tool provided by software development tools plug-in that supports software application development while using the software development tools plug-in, wherein hover help detects a user mouse-over event, such as a user directing a mouse cursor over a method function, and the hover help of software development tools plug-in then displays, such as in a popup window, text, graphics, or other media, corresponding to the element the user is mousing over (Johnston, col. 2, lines 32-47). Johnston further discloses library hover support extends the native hover help functionality of software development tools plug-in by providing data for software development elements, such as method functions, variables, arrays, typedefs, etc., displayed in a graphical user interface of software development tools plug-in (Johnston, col. 2, lines 47-65 and Figure 6). Johnston further disclose a user developing a software application may mouse over a method function and be provided support documentation for the method function in near real time, wherein support for documentation of member functions belonging to templates, base classes, and type definitions as well as overloaded methods may be provided to a user in response to a mouse over event (Johnston, col. 2, lines 47-65 and Figure 6). Johnston further discloses the user mouse-over events for software application is being edited in the integrated development environment (Johnston, col. 3, line 13-34). It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the system of Smith to incorporate the edit context information includes a provisionally selected completion set entry that includes a source code overloaded method suggestion that is selected from a plurality of possible line completions, as taught by Johnston for the purpose of determining a context of elements within the documentation file (Johnston, col. 2, lines 1-5). As to dependent claim 3, Smith discloses wherein the edit automation steps include producing a filtered completion item list by filtering a set of source code completion items, and wherein the provisionally selected completion set entry includes a user-indicated entry in the filtered completion item list (paragraph [0069]). As to dependent claim 4, Smith discloses wherein the edit automation steps include detecting that a cursor is hovering over a hover target portion of the document text, and wherein the provisionally selected completion set entry includes at least part of the hover target portion (paragraphs [0006], [0069] and [0079]). As to dependent claim 5, Smith discloses wherein the edit automation steps further comprise committing the completion text suggestion, and wherein the committing includes: receiving an acceptance of at least a part of the completion text suggestion (paragraph [0006]); designating the part of the completion text suggestion as an accepted part (paragraph [0006]); and altering the document text to include a copy of the accepted part (paragraph [0006]). As to independent claim 6, Smith discloses a method implemented by a computing system, the method comprising: providing a first selected completion set entry of a completion set via a user interface, to a suggestion generation model (paragraph [0069]: the code completion system may analyze or identify a set of features to determine what code snippets to retrieve to offer as candidate code completions, wherein features (provisional selection) that may be used include the current cursor position in editor, the token immediately preceding the cursor, or most recent token or a plurality of recent tokens typed by the programmer, etc. and the features are used as inputs to a machine learning model in order to perform prediction; paragraph [0133] and Figure 8A: Figure 8A shows interface 304 of an editor 302 for presenting a list of code completion; Figure 8A shows a plurality of code snippets 808 to the user for code completion and may allow a code snippet to be selected by a user); getting from the suggestion generation model a first text suggestion which is based at least in part on the first selected completion set entry and that is selected from the plurality of possible line completions of the completion set via the user interface (paragraphs [0077], [0079]: one or more code snippets, once identified, or extracted features of said snippets may also be input to machine learning model so that the model may perform inference); and displaying the first text suggestion in the user interface (paragraph [0008]: the features of the code and the keywords entered by the user are used together to identify relevant code snippets for display to the user). Smith, however, does not disclose the first provisionally selected completion set entry that includes a source code method argument suggestion that is selected from a plurality of possible line completions. In the same field of endeavor, Johnston discloses hover help is a graphical user interface tool provided by software development tools plug-in that supports software application development while using the software development tools plug-in, wherein hover help detects a user mouse-over event, such as a user directing a mouse cursor over a method function, and the hover help of software development tools plug-in then displays, such as in a popup window, text, graphics, or other media, corresponding to the element the user is mousing over (Johnston, col. 2, lines 32-47). Johnston further discloses library hover support extends the native hover help functionality of software development tools plug-in by providing data for software development elements, such as method functions, variables, arrays, typedefs, etc., displayed in a graphical user interface of software development tools plug-in (Johnston, col. 2, lines 47-65 and Figure 6). Johnston further disclose a user developing a software application may mouse over a method function and be provided support documentation for the method function in near real time, wherein support for documentation of member functions belonging to templates, base classes, and type definitions as well as overloaded methods may be provided to a user in response to a mouse over event (Johnston, col. 2, lines 47-65 and Figure 6). Johnston further discloses the user mouse-over events for software application is being edited in the integrated development environment (Johnston, col. 3, line 13-34). Johnston further discloses hover documentation retriever responds to hover help requests from the software development tools plug-in, and the hover documentation retriever receives the request that includes data regarding the text element in the source file that the cursor is hovering over, wherein hover documentation retriever accesses a source code model to determine a context of the text element in the source code (Johnston, col. 4, lines 47-62). Johnston further discloses the source code model is a model generated by the integrated development environment for the source code being edited by a user, and the context may refer to the specific data a software element operates on, how the software element is defined, what data types a software element returns (method argument suggestion) (Johnston, col. 4, lines 47-62). It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the system of Smith to incorporate the first provisionally selected completion set entry that includes a source code method argument suggestion that is selected from a plurality of possible line completions, as taught by Johnston for the purpose of determining a context of elements within the documentation file (Johnston, col. 2, lines 1-5). As to dependent claim 7, Smith and Johnston disclose further comprising: providing a second provisionally selected completion set entry, which is selected from the plurality of possible line completions of the completion set via the user interface, to the suggestion generation model (Smith, paragraphs [0133]-[0134]; Johnston, col. 3, line 64 – col. 4, line 22); getting from the suggestion generation model a second text suggestion which is based at least in part on the second provisionally selected completion set entry that is selected from the plurality of possible line completions of the completion set via the user interface (Smith, paragraphs [0133]-[0134]; Johnston, col. 3, line 64 – col. 4, line 22); removing the first text suggestion from being displayed (Smith, paragraph [0135]); and displaying the second text suggestion inline in the user interface (Smith, paragraphs [0133]-[0135]). As to dependent claim 8, Smith discloses wherein at least one of the following conditions is satisfied: the first text suggestion spans more than one line of text; or the first text suggestion includes a multi-part text suggestion having at least two parts, and the method displays the at least two parts with an intervening portion of document text displayed between a first part and a second part of the at least two parts (Figures 8A-8B and paragraphs [0133]-[0134], [0137]). As to dependent claim 9, Smith discloses wherein the method integrates semantic completion with full line completion (paragraph [0136]). As to dependent claim 10, Smith discloses further comprising: acquiring metainformation text which includes a natural language description of a token that is represented by at least a part of the first text suggestion (paragraph [0140] and Figure 8E); and displaying the metainformation text while displaying the first text suggestion (paragraph [0140] and Figure 8E). As to dependent claim 11, Smith discloses further comprising: getting a third text suggestion from an origin which is not the suggestion generation model (Figures 8D and 8H, paragraphs [0138], [0144]); and displaying the third text suggestion while displaying the second text suggestion (Figures 8D and 8H, paragraphs [0138], [0144]). As to dependent claim 12, Smith and Johnston disclose further comprising: committing the first provisional selection upon receiving a first instance of a commit gesture (Smith, Figure 8I and paragraph [0145]; Johnston, col. 3, line 64 – col. 4, line 22); and then committing at least a part of the first text suggestion upon receiving a second instance of the commit gesture (Smith, Figure 8I and paragraph [0145]; Johnston, col. 3, line 64 – col. 4, line 22). As to dependent claim 14, Smith discloses wherein the method includes modifying the first text suggestion based on user input, and then committing the first text suggestion as modified (paragraph [0085]). As to dependent claim 15, Smith discloses wherein the method comprises detecting that a cursor is hovering over a hover target, and wherein the first provisionally selected completion set entry corresponds to at least a part of the hover target (paragraphs [0006], [0069] and [0079]). As to independent claim 16, Smith discloses a computer-readable storage device storing instructions which upon execution by a processor cause a computing system to perform operations, the operation comprising: providing a first selected completion set entry of a completion set which has a plurality of entries which is selected from a first plurality of possible line completions of a first completion set via a user interface, to a suggestion generation model (paragraph [0069]: the code completion system may analyze or identify a set of features to determine what code snippets to retrieve to offer as candidate code completions, wherein features (provisional selection) that may be used include the current cursor position in editor, the token immediately preceding the cursor, or most recent token or a plurality of recent tokens typed by the programmer, etc. and the features are used as inputs to a machine learning model in order to perform prediction; paragraph [0133] and Figure 8A: Figure 8A shows interface 304 of an editor 302 for presenting a list of code completion; Figure 8A shows a plurality of code snippets 808 to the user for code completion and may allow a code snippet to be selected by a user); getting from the suggestion generation model a first text suggestion which is based at least in part on the first selected completion set entry that is selected from the first plurality of possible line completion (paragraphs [0077], [0079]: one or more code snippets, once identified, or extracted features of said snippets may also be input to machine learning model so that the model may perform inference; paragraph [0133] and Figure 8A: Figure 8A shows interface 304 of an editor 302 for presenting a list of code completion; Figure 8A shows a plurality of code snippets 808 to the user for code completion and may allow a code snippet to be selected by a user); displaying the first text suggestion (paragraph [0008]: the features of the code and the keywords entered by the user are used together to identify relevant code snippets for display to the user); providing a second selected completion set entry, which is selected from a second plurality of possible line completions of a second completion set (paragraphs [0133]-[0134]); getting from the suggestion generation model a second text suggestion which is based at least in part on the second selected completion set entry that is selected from the second plurality of possible line completions (paragraphs [0133]-[0134]); removing the first text suggestion from being displayed; and displaying the second text suggestion (paragraphs [0133]-[0135]). Smith, however, does not disclose providing a first provisionally selected completion set entry, which includes a source code data structure suggestion and a first text suggestion, which is based at least in part of the first provisionally selected completion set entry. In the same field of endeavor, Johnston discloses hover help is a graphical user interface tool provided by software development tools plug-in that supports software application development while using the software development tools plug-in, wherein hover help detects a user mouse-over event, such as a user directing a mouse cursor over a method function, and the hover help of software development tools plug-in then displays, such as in a popup window, text, graphics, or other media, corresponding to the element the user is mousing over (Johnston, col. 2, lines 32-47). Johnston further discloses library hover support extends the native hover help functionality of software development tools plug-in by providing data for software development elements, such as method functions, variables, arrays, typedefs, etc., displayed in a graphical user interface of software development tools plug-in (Johnston, col. 2, lines 47-65 and Figure 6). Johnston further disclose a user developing a software application may mouse over a method function and be provided support documentation for the method function in near real time, wherein support for documentation of member functions belonging to templates, base classes, and type definitions as well as overloaded methods may be provided to a user in response to a mouse over event (Johnston, col. 2, lines 47-65 and Figure 6). Johnston further discloses the user mouse-over events for software application is being edited in the integrated development environment (Johnston, col. 3, line 13-34). Johnston further discloses hover documentation retriever responds to hover help requests from the software development tools plug-in, and the hover documentation retriever receives the request that includes data regarding the text element in the source file that the cursor is hovering over, wherein hover documentation retriever accesses a source code model to determine a context of the text element in the source code (Johnston, col. 4, lines 47-62). Johnston further discloses the source code model is a model generated by the integrated development environment for the source code being edited by a user, and the context may refer to the specific data a software element operates on, how the software element is defined (data structure), what data types a software element returns (method argument suggestion) (Johnston, col. 4, lines 47-62). It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the system of Smith to incorporate providing a first provisionally selected completion set entry, which includes a source code data structure suggestion and a first text suggestion, which is based at least in part of the first provisionally selected completion set entry, as taught by Johnston for the purpose of determining a context of elements within the documentation file (Johnston, col. 2, lines 1-5). As to dependent claim 17, Smith discloses wherein the second text suggestion shows at least one of: an application program interface method and a parameter of the application program interface method; a source code method (Figures 8C-8D); a source code property; a source code reserved word; a source code data variable; a source code data structure; a source code identifier from an application program interface; a source code method argument; or a source code overloaded method. As to dependent claim 18, Smith discloses wherein the operations comprise displaying the first text suggestion and the second text suggestion interleaved with document text (Figure 8A and paragraph [0133]). As to dependent claim 19, Smith discloses wherein the second text suggestion is displayed as an entry in the second completion set (Figure 8C and paragraph [0136]). As to dependent claim 20, Smith discloses wherein the operations comprise at least one of the following: displaying a column of the first plurality of possible line completions; displaying a grid of the first plurality of possible line completions; displaying a menu of the first plurality of possible line completions (paragraphs [0108], [0117]); or displaying a scrollable list of a the first plurality of possible line completions. As to dependent claim 21, Smith and Johnston disclose wherein the provisionally selected completion set entry further includes a source code method argument suggestion (Johnston, col. 6, lines 27-33). As to dependent claim 22, Smith and Johnston disclose wherein the first provisionally selected completion set entry further includes a source code data structure suggestion (Johnston, col. 6, lines 27-33). Response to Arguments In the Remarks, Applicant argues in substance that Applicant has filed a terminal disclaimer on 01/31/2026 and the terminal disclaim has been approved. Therefore, the Double Patenting Rejection of claims 1-20 is hereby withdrawn. Applicant has amended independent claims 1 and 6. Therefore, the Rejection of claims 1-15 under 35 U.S.C. 112(a) is hereby withdrawn. Applicant’s arguments regarding the claims 1, 3-12, 14-22 have been considered but are moot because the new ground of rejection in which Claims 1, 3-12, 14-22 are rejected under 35 U.S.C. 103 over Smith in view of Johnston. Please see the new ground of the rejection above. Conclusion THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHAU T NGUYEN whose telephone number is (571)272-4092. The examiner can normally be reached on Monday-Friday from 8am to 5pm. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Cesar Paula, can be reached at telephone number 5712724128. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) Form at https://www.uspto.gov/patents/uspto-automated-interview-request-air-form. Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). /CHAU T NGUYEN/Primary Examiner, Art Unit 2145
Read full office action

Prosecution Timeline

Aug 02, 2023
Application Filed
Oct 01, 2025
Non-Final Rejection mailed — §103
Dec 23, 2025
Applicant Interview (Telephonic)
Dec 23, 2025
Examiner Interview Summary
Jan 31, 2026
Response Filed
Jun 01, 2026
Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12682153
SYSTEMS AND METHODS FOR GENERATING CONTEXTUAL TABLE EMBEDDINGS FOR TABULAR DATA
3y 4m to grant Granted Jul 14, 2026
Patent 12675552
METHOD AND SYSTEM FOR A CONTINUOUS DISCRETE RECURRENT KALMAN NETWORK
4y 10m to grant Granted Jul 07, 2026
Patent 12675544
MODIFYING WEBSITE ELEMENT STYLES BASED ON USER INTERACTION
3y 0m to grant Granted Jul 07, 2026
Patent 12664349
INFORMATION PROCESSING SYSTEM AND METHOD DISPLAYING DIGITAL DOCUMENTS ASSOCIATED WITH SEARCH CONDITIONS
3y 11m to grant Granted Jun 23, 2026
Patent 12645864
Touch Event Model for Web Pages
4y 1m to grant Granted Jun 02, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
68%
Grant Probability
99%
With Interview (+31.0%)
3y 11m (~1y 0m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 558 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month