Office Action Predictor
Last updated: April 16, 2026
Application No. 18/796,296

CONSTRAINED DECODING FOR SOURCE CODE GENERATION

Non-Final OA §DP
Filed
Aug 07, 2024
Examiner
MEHEDI, MORSHED
Art Unit
2408
Tech Center
2400 — Computer Networks
Assignee
Microsoft Technology Licensing, Llc.
OA Round
1 (Non-Final)
86%
Grant Probability
Favorable
1-2
OA Rounds
2y 7m
To Grant
88%
With Interview

Examiner Intelligence

Grants 86% — above average
86%
Career Allow Rate
724 granted / 844 resolved
+27.8% vs TC avg
Minimal +3% lift
Without
With
+2.7%
Interview Lift
resolved cases with interview
Typical timeline
2y 7m
Avg Prosecution
16 currently pending
Career history
860
Total Applications
across all art units

Statute-Specific Performance

§101
17.6%
-22.4% vs TC avg
§103
45.2%
+5.2% vs TC avg
§102
11.7%
-28.3% vs TC avg
§112
12.7%
-27.3% vs TC avg
Black line = Tech Center average estimate • Based on career data from 844 resolved cases

Office Action

§DP
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 . 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 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. DETAILED ACTION Claims 1-20 are presented for examination. Information Disclosure Statement The information disclosure statement (IDS) submitted on 07/22/2024 has been considered. The submission is in compliance with the provisions of 37 CFR 1.97. Form PTO-1449 is signed and attached hereto. Drawings The drawings filed on 08/07/2024 are accepted by the examiner. Double Patenting The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory obviousness-type double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); and In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on a nonstatutory double patenting ground provided the conflicting application or patent either is shown to be commonly owned with this application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. Effective January 1, 1994, a registered attorney or agent of record may sign a terminal disclaimer. A terminal disclaimer signed by the assignee must fully comply with 37 CFR 3.73(b). Claims of Patent # 12086268 contains every element of claims of the instant application. Claims of the instant application therefore are not patently distinct from the earlier patent claims and as such are unpatentable over obvious-type double patenting. A later patent claim is not patentably distinct from an earlier claim if the later claim is anticipated by the earlier claim. See the claim comparison below. “A later patent claim is not patentably distinct from an earlier patent claim if the later claim is obvious over, or anticipated by, the earlier claim. In re Longi, 759 F.2d at 896, 225 USPQ at 651 (affirming a holding of obviousness-type double patenting because the claims at issue were obvious over claims in four prior art patents); In re Berg, 140 F.3d at 1437, 46 USPQ2d at 1233 (Fed. Cir. 1998) (affirming a holding of obviousness-type double patenting where a patent application claim to a genus is anticipated by a patent claim to a species within that genus). “ELI LILLY AND COMPANY v BARR LABORATORIES, INC., United States Court of Appeals for the Federal Circuit, ON PETITION FOR REHEARING EN BANC (DECIDED: May 30, 2001). Claim Comparison Instant Application # 18/796,296 US Patent # 12,086,268 1 A system for source code generation, comprising: a processor; and a memory that stores a program that is configured to be executed by the processor, the program comprising instructions to perform acts that: obtain an input sequence of tokens representing a partially-formed source code snippet of a source code program; execute a beam search over a plurality of timesteps to generate a plurality of candidate sequences that complete the partially-formed source code snippet, wherein at each timestep, the beam search creates a search space of partial solutions, wherein a partial solution comprises an ordered sequence of tokens likely to complete the partially-formed source code snippet, wherein at each timestep, a plurality of token constraints are generated to prune the search space of partial solutions, wherein a token constraint comprises a single token, an ordered sequence of tokens or a list of values to append a next token to a select partial solution, wherein the token constraint is generated from a static analysis of the select partial solution, and wherein at each timestep, the next token is selected based on a probability distribution generated by a machine learning model and based on the next token adhering to one or more of the plurality of token constraints; select the partial solutions having met most of the plurality of token constraints as the candidate sequences that complete the partially-formed source code snippet; and output at least one of the plurality of candidate sequences in the source code program. 1 A system, comprising: one or more processors; and a memory that stores one or more programs that are configured to be executed by the one or more processors, the one or more programs including instructions to perform acts that: access sequence data representing a partially-formed source code fragment requiring decoding into a completed source code fragment; generate a plurality of partial solutions as candidates to complete the partially-formed source code fragment, wherein a partial solution comprises an ordered sequence of tokens, wherein a token is conditioned on a previously-generated token; obtain one or more token constraints for a select one of the plurality of partial solutions, wherein a token constraint identifies whether a next token should appear in the select partial solution based on a source code static analysis of the select partial solution; execute a deep learning decoder model to predict token probabilities for the select partial solution; generate the next token to append to the select partial solution from the token probabilities and from the one or more token constraints; expand the select partial solution with the next token; and select one or more partial solutions having met most of the token constraints as candidate sequences to complete the partially-formed source code fragment. 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 The system of claim 1, wherein the program comprises instructions to perform acts that: prior to output the at least one of the plurality of candidate sequences in the source code program: insert a surrounding context of the partially-formed source code snippet into each candidate sequence and test each candidate sequence against a static test; and eliminate a select candidate sequence that fails the static test. The system of claim 2, wherein the static test includes compilation of the candidate sequence, testing a compiled form of the candidate sequence in a build environment, static type checking of the candidate sequence, or software vulnerability detection. The system of claim 2, wherein the program comprises instructions to perform acts that: rank the candidate sequences based on results of the static test. The system of claim 1, wherein at each timestep, the next token is selected based on the next token adhering to a token constraint not previously met. The system of claim 1, wherein the machine learning model is a neural transformer model with attention. The system of claim 1, wherein the beam search is executed in a code completion system, a source code editor, or a source code development tool. A computer-implemented method for source code generation, comprising: accessing, in a source code development tool, a partially-formed source code snippet of a source code program, wherein the partially-formed source code snippet comprises an ordered sequence of tokens; decoding, in the source code development tool, the partially-formed source code snippet into candidate solutions that complete the partially-formed source code snippet, wherein the decoding comprises: performing a beam search over a plurality of timesteps, wherein at each timestep one or more partial solutions are generated, wherein a partial solution comprises an ordered sequence of tokens likely to complete the partially-formed source code snippet, wherein at each timestep a next token is added to a select partial solution based on the next token meeting at least one token constraint and based on an output probability generated by a machine learning model, wherein a token constraint comprises a single token, an ordered sequence of tokens or a list of values for the next token to have to append to the select partial solution, and wherein the token constraint is generated from a static analysis of the select partial solution at a timestep; and upon the beam search meeting a termination condition, selecting the partial solutions having met most of the token constraints to complete the partially-formed source code snippet as the candidate solutions. The computer-implemented method of claim 8, further comprising: inserting a surrounding context of the partially-formed source code snippet into each candidate solution; and testing each candidate solution sequence in with a static test; and eliminating a select candidate solution that fails the static test. The computer-implemented method of claim 9, wherein a static test includes testing for syntax correctness, testing for compatibility in a build environment, static type checking, and/or detection of a software vulnerability. The computer-implemented method of claim 10, further comprising: ranking the candidate solutions based on results of the static test. The computer-implemented method of claim 8, wherein the termination condition is met when an end-of-sequence token is determined to be the next token, when each of the token constraints are met or when a maximum token length of at least one partial solution is reached. The computer-implemented method of claim 8, wherein at least one token constraint is configured prior to the decoding. The computer-implemented method of claim 8, wherein the machine learning model is a neural transformer model with attention. A hardware storage device having stored thereon computer executable instructions that are structured to be executable by a processor of a computing device to thereby cause the computing device to generate source code by performing actions that: access an ordered sequence of tokens representing a partially-formed source code fragment of a source code program under development; perform a beam search over a plurality of timesteps to generate a search space of partial solutions likely to complete the partially-formed source code fragment, wherein at each timestep of the beam search, the beam search selects a next token to expand a select one of the partial solutions, wherein the next token to expand is based on token probabilities output by a machine learning model conditioned on previously-generated tokens of the select one of the partial solutions and based on a token constraint generated from a static analysis of the select one of the partial solutions at the timestep, and wherein the token constraint indicates whether the next token is feasible to expand the select one of the partial solutions into a syntactically-correct source code statement; and select, from the search space of partial solutions, one or more candidate solutions to complete the partially-formed source code fragment based on a number of token constraints satisfied. The hardware device of claim 15, having stored thereon computer executable instructions that are structured to be executable by a processor of a computing device to thereby cause the computing device to generate source code by performing actions that: insert a surrounding context of the partially-formed source code snippet into each candidate solution; test each candidate solution with one or more static tests; and eliminate a select candidate solution that fails the one of the one or more static tests. The hardware device of claim 16, wherein the static test includes testing for syntax correctness, testing for compatibility in a build environment, static type checking, or detection of a software vulnerability. The hardware device of claim 16, having stored thereon computer executable instructions that are structured to be executable by a processor of a computing device to thereby cause the computing device to generate source code by performing actions that: select the candidate solutions having met most of the token constraints; and rank the candidate solutions based on passing the one or more static tests. The hardware device of claim 15, wherein a token constraint comprises a single token, an ordered sequence of tokens, or a list of values for the next token to have to append to the select one of the partial solutions. The hardware device of claim 15, wherein the machine learning model is a neural transformer model with attention. 2 3 4 5 6 7 9 10 11 12 13 14 15 17 18 19 The system of claim 1, wherein the source code static analysis is based on correct type usage. The system of claim 1, wherein the source code static analysis is based on compliance with production rules of a grammar of a programming language of the partially-formed source code fragment. The system of claim 1, wherein the source code static analysis is based on syntax correctness. The system of claim 1, wherein the one or more token constraints requires the next token to belong to a list of type values, requires the next token to be a specific token or requires the next token to be part of an n-gram of tokens. The system of claim 1, wherein the one or more programs include instructions to perform acts that: test the candidate sequences for security vulnerabilities and/or syntax correctness; and eliminate the candidate sequences that fail the security vulnerability test and/or syntax correctness test. The system of claim 1, wherein the one or more programs include instructions to perform acts that: rank the candidate sequences based on outcome of passing syntax and/or error vulnerability tests. 8. A computer-implemented method, comprising: obtaining sequence data representing a source code fragment requiring decoding into one or more candidate sequences that complete the source code fragment; obtaining a plurality of partial solutions for the one or more candidate sequences, wherein a partial solution comprises an ordered sequence of tokens, wherein each token of the ordered sequence of tokens is conditioned on a previously-generated token; generating a next token to append to each partial solution from top-k token probabilities predicted from a deep learning decoder model and from one or more token constraints predicted by a source code static analysis for each partial solution, wherein a token constraint indicates whether a next token predicted from the deep learning decoder model is syntactically correct for a select one of the plurality of partial solutions; expanding each partial solution with a respective next token; and selecting from the one or more candidate sequences, a select candidate sequence for the source code fragment from the expanded partial solutions having met most of the one or more token constraints. The computer-implemented method of claim 8, wherein the source code static analysis is based on correct type usage. The computer-implemented method of claim 8, wherein the source code static analysis is based on compliance with production rules of a grammar of a programming language of the source code fragment. The computer-implemented method of claim 8, wherein the soruce code static analysis is based on detection of a software vulnerability. The computer-implemented method of claim 8, further comprising: ranking the one or more candidate sequences based on outcome of passing syntax and/or error vulnerability tests. The computer-implemented method of claim 8, further comprising: testing the one or more candidate sequences for error vulnerabilities and/or syntactic correctness; and eliminating each of the one or more candidate sequences that fail the error vulnerability test and/or syntactic correctness test. 14. The computer-implemented method of claim 8, wherein the one or more token constraints require the next token to be a specific token, an n-gram, or tokens having a type from a list of token types. A computer-implemented method, comprising: receiving an ordered sequence of tokens representing a partially-formed source code fragment requiring decoding into a completed source code snippet; creating a search space of partial solutions as candidates to complete the partially-formed source code fragment, wherein a partial solution includes an ordered sequence of tokens, wherein a token in the ordered sequence is conditioned on a previously-generated token; dynamically generating token constraints from a source code static analysis of each partial solution, wherein a token constraint checks whether or not a next token is feasible to be appended to a respective partial solution to maintain syntax correctness; employing a deep learning decoder model to generate token probabilities, wherein a token probability represents a likelihood of a respective next token following a respective previously-generated token; selecting the next token to append to each of the partial solutions from the token constraints and from the token probabilities output from the deep learning decoder model; searching the search space for one or more partial solutions that contain most of the token constraints; and selecting, from the one or more partial solutions, selected partial solutions to complete the partially-formed source code fragment. 16. The computer-implemented method of claim 15, wherein the token constraint requires the next token to belong to a list of type values. The computer-implemented method of claim 15, wherein the token constraint requires the next token to be a specific token. The computer-implemented method of claim 15, wherein the token constraint requires the next token to be part of an ordered sequence of tokens. The computer-implemented method of claim 15, further comprising: testing the selected partial solutions for security vulnerabilities; and ranking the selected partial solutions based on outcome of the testing. 20. The computer-implemented method of claim 15, further comprising: testing the selected partial solutions for security vulnerabilities; and eliminating the selected partial solutions that fail the testing. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. US Publication No. 2018/0115551, “a computer process includes obtaining proxy account credential data that includes at least one of the following types of authentication data for accessing at least one proxy account accounts associated with the one or more cloud accounts of the cloud computing system, the at least one proxy account including at least proxy credential data and access to at least one provisioning policy, the at least one provisioning policy including one or more provisioning constraints with respect to provisioning the one or more computing resources which one or more provisioning constraints are not present in the one or more cloud accounts: username, password, Public Key Infrastructure (PKI) certificate, RSA token, biometric information, time-based token, or a combination of any of the foregoing”. Any inquiry concerning this communication or earlier communications from the examiner should be directed to MORSHED MEHEDI whose telephone number is (571) 270-7640. The examiner can normally be reached on M - F, 8:00 am to 4:00 pm EST. If attempts to reach the examiner by telephone are unsuccessful, the examiner's supervisor, Linglan Edwards can be reach on (571) 270-5440. The fax number for the organization where this application or proceeding is assigned is (571) 273-8300. 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 their 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). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (In USA or Canada) or 571-272-1000. /MORSHED MEHEDI/Primary Examiner, Art Unit 2408
Read full office action

Prosecution Timeline

Aug 07, 2024
Application Filed
Dec 04, 2025
Non-Final Rejection — §DP
Mar 27, 2026
Response Filed

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12596842
DATA ANONYMIZATION FOR SERVICE SUBSCRIBER'S PRIVACY
2y 5m to grant Granted Apr 07, 2026
Patent 12587357
METHODS AND SYSTEMS FOR P-ADIC ENCODING AND DECODING OF RATIONAL DATA FOR FHE SYSTEMS
2y 5m to grant Granted Mar 24, 2026
Patent 12580896
METHOD AND SYSTEM FOR PRIVATE IDENTITY VERIFICATION
2y 5m to grant Granted Mar 17, 2026
Patent 12574238
ELECTRONIC DEVICE AND CONTROLLING METHOD FOR INCREASING AN OPERATION SPEED OF HOMOMORPHIC ENCRYPTED DATA
2y 5m to grant Granted Mar 10, 2026
Patent 12574206
BLIND ROTATION FOR USE IN FULLY HOMOMORPHIC ENCRYPTION
2y 5m to grant Granted Mar 10, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

1-2
Expected OA Rounds
86%
Grant Probability
88%
With Interview (+2.7%)
2y 7m
Median Time to Grant
Low
PTA Risk
Based on 844 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in for Full Analysis

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

Free tier: 3 strategy analyses per month