Prosecution Insights
Last updated: April 19, 2026
Application No. 18/418,608

FILL-IN-THE-MIDDLE (‘FIM’) CODE COMPLETIONS USING STATIC CODE ANALYSIS

Final Rejection §101§103§112
Filed
Jan 22, 2024
Examiner
CHEN, QING
Art Unit
2191
Tech Center
2100 — Computer Architecture & Software
Assignee
Augment Computing Inc.
OA Round
2 (Final)
80%
Grant Probability
Favorable
3-4
OA Rounds
2y 10m
To Grant
99%
With Interview

Examiner Intelligence

Grants 80% — above average
80%
Career Allow Rate
542 granted / 678 resolved
+24.9% vs TC avg
Strong +52% interview lift
Without
With
+51.9%
Interview Lift
resolved cases with interview
Typical timeline
2y 10m
Avg Prosecution
28 currently pending
Career history
706
Total Applications
across all art units

Statute-Specific Performance

§101
18.1%
-21.9% vs TC avg
§103
39.2%
-0.8% vs TC avg
§102
10.3%
-29.7% vs TC avg
§112
23.1%
-16.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 678 resolved cases

Office Action

§101 §103 §112
DETAILED ACTION This Office action is in response to the amendment submitted on February 12, 2026. Claims 1-4 and 6-20 are pending. Claims 1, 3, 4, and 6-20 are currently amended. Claim 5 is canceled. The objection to the abstract is withdrawn in view of the Applicant’s amendments to the abstract. The objection to the specification is withdrawn in view of the Applicant’s amendments to the claims. The objections to Claims 1, 2, 8, 10, 11, 14-16, and 18-20 are withdrawn in view of the Applicant’s amendments to the claims or the Examiner’s further consideration of the claims. However, the Applicant has failed to address the objection to Claim 12. Accordingly, this objection is maintained and further explained hereinafter. The 35 U.S.C. § 112(b) rejections of Claims 10 and 18 are withdrawn in view of the Applicant’s amendments to the claims. The 35 U.S.C. § 101 rejections of Claims 1-20 directed to a judicial exception without significantly more are maintained in view of the Applicant’s arguments and amendments to the claims and further explained hereinafter. The 35 U.S.C. § 101 rejections of Claims 12-14 directed to non-statutory subject matter are withdrawn in view of the Applicant’s amendments to the claims. In the interest of facilitating compact prosecution, the Examiner kindly asks the Applicant’s representative to authorize Internet communications with the Examiner by submitting Form PTO/SB/439 using Patent Center. 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 . Response to Amendment Claim Objections Claims 1, 12, 13, 15, and 17 are objected to because of the following informalities: Claims 1, 12, and 15 recite “the simulated incomplete examples.” It should read -- the simulated incomplete examples of completed computer program code --. Claim 12 recites “the computer program code.” It should read -- the piece of computer program code --. Claims 13 and 17 recite “the processor is configured to.” It should read -- the processor is further configured to --. Appropriate correction is required. Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. Claims 8 and 9 are rejected under 35 U.S.C. 112(b) as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor regards as the invention. Claims 8 and 9 recite the limitation “the code base.” There is insufficient antecedent basis for this limitation in the claims. In the interest of compact prosecution, the Examiner subsequently interprets this limitation as reading “a code base” for the purpose of further examination. Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1-4 and 6-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more. Claim Interpretation: Under the broadest reasonable interpretation (BRI), the limitations of Claim 1 are presumed to have their plain meaning consistent with the specification as it would be interpreted by one of ordinary skill in the art. See MPEP § 2111. Claim 1 recites: The step of “generating, based on a domain-specific code base, simulated incomplete examples of completed computer program code.” The claim does not limit the plain meaning of “generating.” In addition, the claim does not impose any limits on how the simulated incomplete examples of completed computer program code is generated nor require any particular components that are used to perform the generating; The step of “identifying, for a piece of computer program code, at least one of a prefix portion of the piece of computer program code and a suffix portion of the piece of computer program code.” The claim does not impose any limits on how the prefix and suffix portions of the piece of computer program code are identified nor require any particular components that are used to perform the identifying. Furthermore, the limitation “a prefix portion of the piece of computer program code” is disclosed in the specification as “a portion of the piece of computer program code 402 that precedes some demarcation point” (paragraph [0051]). And the limitation “a suffix portion of the piece of computer program code” is disclosed in the specification as “a portion of the piece of computer program code 402 that follows some demarcation point” (paragraph [0051]); and The step of “generating, by a generative artificial intelligence model and based on a comparison between the piece of computer program code and the simulated incomplete examples, a potential middle portion for the piece of computer program code, wherein the middle portion includes computer program code that can be inserted after the prefix portion and before the suffix portion.” The claim does not limit the plain meaning of “generating.” Step 1: Claim 1 is directed to a method, which is a process (a series of steps or acts), and falls within one of the statutory categories of invention. Step 2A, Prong One: Claim 1 recites the limitations: (a) generating, based on a domain-specific code base, […] incomplete examples of completed computer program code; (b) identifying, for a piece of computer program code, at least one of a prefix portion of the piece of computer program code and a suffix portion of the piece of computer program code; and (c) generating, […] and based on a comparison between the piece of computer program code and the […] incomplete examples, a potential middle portion for the piece of computer program code, wherein the middle portion includes computer program code that can be inserted after the prefix portion and before the suffix portion. These recited steps, under the broadest reasonable interpretation (BRI), cover performance of the steps in the human mind alone or with the aid of pen and paper. That is, other than reciting: (1) simulated; and (2) a generative artificial intelligence model. Nothing in the claim precludes the steps from practically being performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. For example, the limitation (a) in the context of the claim encompasses a human observing a domain-specific code base using observation, evaluation, judgment, and opinion to generate incomplete examples of completed computer program code. And the limitation (b) in the context of the claim encompasses a human observing a piece of computer program code using observation, evaluation, judgment, and opinion to identify a prefix portion and a suffix portion of the piece of computer program code. And the limitation (c) in the context of the claim encompasses a human observing the piece of computer program code and the incomplete examples of completed computer program code using observation, evaluation, judgment, and opinion to generate a potential middle portion for the piece of computer program code. See MPEP § 2106.04(a)(2)(III). If a claim limitation, under its broadest reasonable interpretation (BRI), covers performance of the limitation in the human mind alone or with the aid of pen and paper but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Step 2A, Prong Two: This judicial exception is not integrated into a practical application. In particular, the claim recites the additional elements: (1) simulated; and (2) a generative artificial intelligence model. The additional elements (1) and (2) are recited at a high-level of generality such that they amount to no more than mere instructions to apply the judicial exception using generic computer components. The term “simulated” implies that a computer is used as a tool to perform the generation of simulated incomplete examples of completed computer program code. And the generative artificial intelligence model is used as a tool to perform the generation of a potential middle portion for the piece of computer program code. See MPEP § 2106.05(f). Accordingly, even when viewed in combination, the additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements when considered both individually and as a combination do not amount to significantly more than the abstract idea. As discussed above with respect to integration of the abstract idea into a practical application, the claim recites the additional elements: (1) simulated; and (2) a generative artificial intelligence model. The additional elements (1) and (2) amount to no more than mere instructions to apply the judicial exception using generic computer components. The analysis under Step 2A, Prong Two is carried through to Step 2B. The use of a computer or other machinery in its ordinary capacity does not integrate a judicial exception into a practical application or provide significantly more. Thus, taken alone, the additional elements do not amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the additional elements as a combination adds nothing that is not already present when looking at the additional elements taken individually. Even when considered in combination, the additional elements represent mere instructions to apply a judicial exception using generic computer components and therefore do not provide an inventive concept. The claim is not patent eligible. Claims 2-4 and 6-11 are dependent on Claim 1, but do not add any feature or subject matter that would solve the judicial exception deficiencies of Claim 1. Claim 2 recites the limitation: (a) presenting the potential middle portion as a code completion suggestion. <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> Claim 3 recites the limitation: (a) wherein the potential middle portion for the piece of computer program code is identified based on completed examples of computer program code. <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> Claim 4 recites the limitations: (a) wherein generating the simulated incomplete examples of completed computer code comprises: (b) parsing completed computer program code to generate a syntax tree; and (c) removing one or more nodes from the syntax tree to generate incomplete code representations. <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> Claim 6 recites the limitation: (a) wherein the potential middle portion for the piece of computer program code is identified based on simulated completions of incomplete computer program code. <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> Claim 7 recites the limitation: (a) wherein generating, for the piece of computer program code, at least one of a prefix portion of the piece of computer program code and a suffix portion of the piece of computer program code is based upon identifying of one or more semantically meaningful code units within the piece of computer program code. <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> Claim 8 recites the limitation: (a) performing program analysis on computer program code within the code base to generate a plurality of candidate semantically meaningful code units that are contained in the code base. <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> Claim 9 recites the limitation: (a) wherein performing program analysis on computer program code within the code base includes generating a syntax tree for one or more files within the code base. <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> Claim 10 recites the limitations: (a) pausing generation of a code completion recommendation at a predetermined point; and (b) responsive to receiving a user request to continue code generation, generating an additional code completion recommendation. <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> Claim 11 recites the limitation: (a) inserting, into a code completion recommendation, an indication to skip over subsequent code. Claims 3, 4, and 6-11 recite further mental steps which can be practically performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper and thus, fail to make the claim any less abstract (see MPEP § 2106.04(a)(2)(III)). Claim 2 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they are mere data gathering/transmitting/outputting recited at a high level of generality and thus, are insignificant extra-solution activities (see MPEP § 2106.05(g)) and thus, are not significantly more than the abstract idea. Thus, Claims 2-4 and 6-11 do not add any steps or additional elements, when considered both individually and as a combination, that would convert Claim 1 into patent-eligible subject matter. Therefore, Claims 1-4 and 6-11 are not drawn to patent-eligible subject matter as they are directed to an abstract idea without significantly more. <<>> • × • <<>> • × • <<>> • × • <<>> • × • <<>> • × • <<>> • × • <<>> • × • <<>> Claim Interpretation: Under the broadest reasonable interpretation (BRI), the limitations of Claim 12 are presumed to have their plain meaning consistent with the specification as it would be interpreted by one of ordinary skill in the art. See MPEP § 2111. Claim 12 recites: The step of “generate, based on a domain-specific code base, simulated incomplete examples of completed computer program code.” The claim does not limit the plain meaning of “generate.” In addition, the claim does not impose any limits on how the simulated incomplete examples of completed computer program code is generated nor require any particular components that are used to perform the generating; The step of “identify, for a piece of computer program code, at least one of a prefix portion of the computer program code and a suffix portion of the computer program code.” The claim does not impose any limits on how the prefix and suffix portions of the computer program code are identified nor require any particular components that are used to perform the identifying. Furthermore, the limitation “a prefix portion of the computer program code” is disclosed in the specification as “a portion of the piece of computer program code 402 that precedes some demarcation point” (paragraph [0051]). And the limitation “a suffix portion of the computer program code” is disclosed in the specification as “a portion of the piece of computer program code 402 that follows some demarcation point” (paragraph [0051]); and The step of “generate, by a generative artificial intelligence model and based on a comparison between the piece of computer program code and the simulated incomplete examples, a potential middle portion for the piece of computer program code, wherein the middle portion includes computer program code that can be inserted after the prefix portion and before the suffix portion.” The claim does not limit the plain meaning of “generate.” In addition, these steps are recited as being performed by a non-transitory computer-readable storage medium having instructions stored thereon executed by a processor in the preamble of the claim. The non-transitory computer-readable storage medium and processor are recited at a high level of generality, i.e., as generic computer components performing generic computer functions. Step 1: Claim 12 is directed to a non-transitory computer-readable storage medium, which is an article of manufacture, and falls within one of the statutory categories of invention. Step 2A, Prong One: Claim 12 recites the limitations: (a) generate, based on a domain-specific code base, […] incomplete examples of completed computer program code; (b) identify, for a piece of computer program code, at least one of a prefix portion of the computer program code and a suffix portion of the computer program code; and (c) generate, […] and based on a comparison between the piece of computer program code and the […] incomplete examples, a potential middle portion for the piece of computer program code, wherein the middle portion includes computer program code that can be inserted after the prefix portion and before the suffix portion. These recited steps, under the broadest reasonable interpretation (BRI), cover performance of the steps in the human mind alone or with the aid of pen and paper. That is, other than reciting: (1) [a] non-transitory computer-readable storage medium having instructions stored thereon that, when executed by a processor, cause the processor to; (2) simulated; and (3) a generative artificial intelligence model. Nothing in the claim precludes the steps from practically being performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. For example, the limitation (a) in the context of the claim encompasses a human observing a domain-specific code base using observation, evaluation, judgment, and opinion to generate incomplete examples of completed computer program code. And the limitation (b) in the context of the claim encompasses a human observing a piece of computer program code using observation, evaluation, judgment, and opinion to identify a prefix portion and a suffix portion of the piece of computer program code. And the limitation (c) in the context of the claim encompasses a human observing the piece of computer program code and the incomplete examples of completed computer program code using observation, evaluation, judgment, and opinion to generate a potential middle portion for the piece of computer program code. See MPEP § 2106.04(a)(2)(III). If a claim limitation, under its broadest reasonable interpretation (BRI), covers performance of the limitation in the human mind alone or with the aid of pen and paper but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Step 2A, Prong Two: This judicial exception is not integrated into a practical application. In particular, the claim recites the additional elements: (1) [a] non-transitory computer-readable storage medium having instructions stored thereon that, when executed by a processor, cause the processor to; (2) simulated; and (3) a generative artificial intelligence model. The additional elements (1) to (3) are recited at a high-level of generality such that they amount to no more than mere instructions to apply the judicial exception using generic computer components. The non-transitory computer-readable storage medium and processor are used as tools to perform the generating, identifying, and presenting steps of the claim. The term “simulated” implies that a computer is used as a tool to perform the generation of simulated incomplete examples of completed computer program code. And the generative artificial intelligence model is used as a tool to perform the generation of a potential middle portion for the piece of computer program code. See MPEP § 2106.05(f). Also, the claim recites the additional element: (4) present the potential middle portion as a code completion suggestion. The additional element (4) is mere data outputting recited at a high level of generality and thus, is an insignificant extra-solution activity. See MPEP § 2106.05(g). Furthermore, all uses of the recited judicial exception require such data outputting, and, as such, the additional element does not impose any meaningful limits on the claim. The additional element amounts to necessary data outputting. See MPEP § 2106.05. Accordingly, even when viewed in combination, the additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements when considered both individually and as a combination do not amount to significantly more than the abstract idea. As discussed hereinabove with respect to integration of the abstract idea into a practical application, the claim recites the additional elements: (1) [a] non-transitory computer-readable storage medium having instructions stored thereon that, when executed by a processor, cause the processor to; (2) simulated; and (3) a generative artificial intelligence model. The additional elements (1) to (3) amount to no more than mere instructions to apply the judicial exception using generic computer components. The analysis under Step 2A, Prong Two is carried through to Step 2B. The use of a computer or other machinery in its ordinary capacity does not integrate a judicial exception into a practical application or provide significantly more. Also, the claim recites the additional element: (4) present the potential middle portion as a code completion suggestion. The additional element (4) simply appends a well-understood, routine, and conventional activity previously known to the industry, specified at a high level of generality, to the judicial exception is not indicative of an inventive concept. MPEP § 2106.05(d)(II) expressly states that the courts have recognized the activity of presenting offers and gathering statistics as a well‐understood, routine, and conventional activity when it is claimed in a merely generic manner (e.g., at a high level of generality) or as an insignificant extra-solution activity. Thus, a person of ordinary skill in the art would readily comprehend that it is well-understood, routine, and conventional in the computing art to present a code completion suggestion. Therefore, the additional element remains an insignificant extra-solution activity even upon reconsideration and does not amount to significantly more. Thus, taken alone, the additional elements do not amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the additional elements as a combination adds nothing that is not already present when looking at the additional elements taken individually. Even when considered in combination, the additional elements represent mere instructions to apply a judicial exception using generic computer components and an insignificant extra-solution activity, and therefore do not provide an inventive concept. The claim is not patent eligible. Claims 13 and 14 are dependent on Claim 12, but do not add any feature or subject matter that would solve the judicial exception deficiencies of Claim 12. Claim 13 recites the limitations: (a) wherein to generate the simulated incomplete examples of completed computer code, the processor is configured to: (b) parsing completed computer program code to generate a syntax tree; and (c) removing one or more nodes from the syntax tree to generate incomplete code representations. <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> Claim 14 recites the limitation: (a) generate simulated incomplete examples of computer program code. Claims 13 and 14 recite further mental steps which can be practically performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper and thus, fail to make the claim any less abstract (see MPEP § 2106.04(a)(2)(III)). Claim 14 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they are mere instructions to apply the judicial exception using generic computer components (see MPEP § 2106.05(f)) and thus, are not significantly more than the abstract idea. Thus, Claims 13 and 14 do not add any steps or additional elements, when considered both individually and as a combination, that would convert Claim 12 into patent-eligible subject matter. Therefore, Claims 12-14 are not drawn to patent-eligible subject matter as they are directed to an abstract idea without significantly more. <<>> • × • <<>> • × • <<>> • × • <<>> • × • <<>> • × • <<>> • × • <<>> • × • <<>> Claim Interpretation: Under the broadest reasonable interpretation (BRI), the limitations of Claim 15 are presumed to have their plain meaning consistent with the specification as it would be interpreted by one of ordinary skill in the art. See MPEP § 2111. Claim 15 recites: The step of “generate, based on a domain-specific code base, simulated incomplete examples of completed computer program code.” The claim does not limit the plain meaning of “generate.” In addition, the claim does not impose any limits on how the simulated incomplete examples of completed computer program code is generated nor require any particular components that are used to perform the generating; The step of “receive, for a piece of computer program code, at least one of a prefix portion of the piece of computer program code and a suffix portion of the piece of computer program code.” The limitation “a prefix portion of the piece of computer program code” is disclosed in the specification as “a portion of the piece of computer program code 402 that precedes some demarcation point” (paragraph [0051]). And the limitation “a suffix portion of the piece of computer program code” is disclosed in the specification as “a portion of the piece of computer program code 402 that follows some demarcation point” (paragraph [0051]). Furthermore, the claim does not impose any limits on how the prefix or suffix portion of the piece of computer program code is received nor require any particular components that are used to perform the receiving; and The step of “generating, by a generative artificial intelligence model and based on a comparison between the piece of computer program code and the simulated incomplete examples, a potential middle portion for the piece of computer program code, wherein the middle portion includes computer program code that can be inserted after the prefix portion and before the suffix portion.” The claim does not limit the plain meaning of “generating.” In addition, these steps are recited as being performed by a system comprising a memory and a processor. The memory and processor are recited at a high level of generality, i.e., as generic computer components performing generic computer functions. Step 1: Claim 15 is directed to a system, which is a machine and/or manufacture, and falls within one of the statutory categories of invention. Step 2A, Prong One: Claim 15 recites the limitations: (a) generate, based on a domain-specific code base, […] incomplete examples of completed computer program code; and (b) generate, […] and based on a comparison between the piece of computer program code and the […] incomplete examples, a potential middle portion for the piece of computer program code, wherein the middle portion includes computer program code that can be inserted after the prefix portion and before the suffix portion. The recited step, under the broadest reasonable interpretation (BRI), covers performance of the step in the human mind alone or with the aid of pen and paper. That is, other than reciting: (1) a memory; (2) a processor, operatively coupled to the memory, the processor configured to; (3) simulated; and (4) a generative artificial intelligence model. Nothing in the claim precludes the steps from practically being performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. For example, the limitation (a) in the context of the claim encompasses a human observing a domain-specific code base using observation, evaluation, judgment, and opinion to generate incomplete examples of completed computer program code. And the limitation (b) in the context of the claim encompasses a human observing the piece of computer program code and the incomplete examples of completed computer program code using observation, evaluation, judgment, and opinion to generate a potential middle portion for the piece of computer program code. See MPEP § 2106.04(a)(2)(III). If a claim limitation, under its broadest reasonable interpretation (BRI), covers performance of the limitation in the human mind alone or with the aid of pen and paper but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Step 2A, Prong Two: This judicial exception is not integrated into a practical application. In particular, the claim recites the additional elements: (1) a memory; (2) a processor, operatively coupled to the memory, the processor configured to; (3) simulated; and (4) a generative artificial intelligence model. The additional elements (1) to (4) are recited at a high-level of generality such that they amount to no more than mere instructions to apply the judicial exception using generic computer components. The memory and processor are used as tools to perform the generating and receiving steps of the claim. See MPEP § 2106.05(f). Also, the claim recites the additional element: (5) receive, for a piece of computer program code, at least one of a prefix portion of the piece of computer program code and a suffix portion of the piece of computer program code. The additional element (5) is mere data gathering recited at a high level of generality and thus, is an insignificant extra-solution activity. See MPEP § 2106.05(g). Furthermore, all uses of the recited judicial exception require such data gathering, and, as such, the additional element does not impose any meaningful limits on the claim. The additional element amounts to necessary data gathering. See MPEP § 2106.05. Accordingly, even when viewed in combination, the additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements when considered both individually and as a combination do not amount to significantly more than the abstract idea. As discussed hereinabove with respect to integration of the abstract idea into a practical application, the claim recites the additional elements: (1) a memory; (2) a processor, operatively coupled to the memory, the processor configured to; (3) simulated; and (4) a generative artificial intelligence model. The additional elements (1) to (4) amount to no more than mere instructions to apply the judicial exception using generic computer components. The analysis under Step 2A, Prong Two is carried through to Step 2B. The use of a computer or other machinery in its ordinary capacity does not integrate a judicial exception into a practical application or provide significantly more. Also, the claim recites the additional element: (5) receive, for a piece of computer program code, at least one of a prefix portion of the piece of computer program code and a suffix portion of the piece of computer program code. The additional element (5) simply appends a well-understood, routine, and conventional activity previously known to the industry, specified at a high level of generality, to the judicial exception is not indicative of an inventive concept. MPEP § 2106.05(d)(II) expressly states that the courts have recognized the computer functions of storing and retrieving information in memory and receiving or transmitting data over a network, e.g., using the Internet to gather data as well‐understood, routine, and conventional computer functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as an insignificant extra-solution activity. Thus, a person of ordinary skill in the art would readily comprehend that it is well-understood, routine, and conventional in the computing art to receive portions of computer program code. Therefore, the additional element remains an insignificant extra-solution activity even upon reconsideration and does not amount to significantly more. Thus, taken alone, the additional elements do not amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the additional elements as a combination adds nothing that is not already present when looking at the additional elements taken individually. Even when considered in combination, the additional elements represent mere instructions to apply a judicial exception using generic computer components and an insignificant extra-solution activity, and therefore do not provide an inventive concept. The claim is not patent eligible. Claims 16-20 are dependent on Claim 15, but do not add any feature or subject matter that would solve the judicial exception deficiencies of Claim 15. Claim 16 recites the limitation: (a) present the potential middle portion as a code completion suggestion. <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> Claim 17 recites the limitations: (a) wherein to generate the simulated incomplete examples of completed computer code, the processor is configured to: (b) parse completed computer program code to generate a syntax tree; and (c) remove one or more nodes from the syntax tree to generate incomplete code representations. <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> Claim 18 recites the limitations: (a) pause generation of a code completion recommendation at a predetermined point; and (b) responsive to receiving a user request to continue code generation, present an additional code completion recommendation. <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> Claim 19 recites the limitation: (a) insert, into a code completion recommendation, an indication to skip over subsequent code. <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> + <<>> Claim 20 recites the limitation: (a) generate simulated incomplete examples of computer program code. Claim 17 recites further mental steps which can be practically performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper and thus, fail to make the claim any less abstract (see MPEP § 2106.04(a)(2)(III)). Claim 16 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they are mere data gathering/transmitting/outputting recited at a high level of generality and thus, are insignificant extra-solution activities (see MPEP § 2106.05(g)) and thus, are not significantly more than the abstract idea. Claims 18-20 recite further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they do not require any particular application of the judicial exception and are, at best, the equivalent of merely adding the words “apply it” (or an equivalent) to the judicial exception (see MPEP § 2106.05(f)) and thus, are not significantly more than the abstract idea. Thus, Claims 16-20 do not add any steps or additional elements, when considered both individually and as a combination, that would convert Claim 15 into patent-eligible subject matter. Therefore, Claims 15-20 are not drawn to patent-eligible subject matter as they are directed to an abstract idea without significantly more. Claim Rejections - 35 USC § 103 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. Claims 1-3, 7-9, 12, 15, and 16 are rejected under 35 U.S.C. 103 as being unpatentable over US 2023/0409299 (hereinafter “Sundaresan”) in view of US 10,303,517 (hereinafter “Sloyan”) and US 2011/0197179 (hereinafter “Kratochvil”). [Examiner’s Remarks: In order for a reference to be proper for use in an obviousness rejection under 35 U.S.C. 103, the reference must be analogous art to the claimed invention. In re Bigio, 381 F.3d 1320, 1325, 72 USPQ2d 1209, 1212 (Fed. Cir. 2004). A reference is analogous art to the claimed invention if: (1) the reference is from the same field of endeavor as the claimed invention (even if it addresses a different problem); or (2) the reference is reasonably pertinent to the problem faced by the inventor (even if it is not in the same field of endeavor as the claimed invention). Note that the claimed invention is generally directed to fill-in-the-middle (FIM) code completions using static code analysis (specification, paragraph [0008]). As for the “same field of endeavor” test, Sundaresan is generally directed to predicting syntactically-correct code to insert into an existing program (Sundaresan, paragraph [0022]). As for the “reasonably pertinent” test, Sloyan is generally directed to automated evaluation of computer programming (Sloyan, paragraph [0002]). And Kratochvil is generally directed to simulating a correct line of source code in a debugging tool (Kratochvil, paragraph [0002]). Thus, Sundaresan, Sloyan, and Kratochvil are all analogous art to the claimed invention (even if they address different problems or are not in the same field of endeavor as the claimed invention). See MPEP § 2141.01(a)(I).] As per Claim 1, Sundaresan discloses: A method (paragraph [0067], “Attention now turns to description of the various exemplary methods that utilize the system and device disclosed herein.”) comprising: identifying, for a piece of computer program code, at least one of a prefix portion of the piece of computer program code and a suffix portion of the piece of computer program code (Figure 1; paragraph [0028], “The source code program [a piece of computer program code] is parsed into a concrete syntax tree 110 from which the prefix 104 and the suffix 108 are extracted. The prefix and the suffix consist of terminal symbols from the concrete syntax tree 110 that surround the insertion point (emphasis added).”; paragraph [0110], “Upon the detection of an insertion point, the source code editor extracts the prefix and the suffix surrounding the insertion point [identifying, for a piece of computer program code, at least one of a prefix portion of the piece of computer program code and a suffix portion of the piece of computer program code] from the concrete syntax tree and forms the code insertion state. The code insertion state includes the prefix, single non-terminal symbol <start><statement><stop>, and suffix. (Collectively, block 1106) (emphasis added).”); and generating, by a generative artificial intelligence model (paragraph [0053], “Deep learning [a generative artificial intelligence model] differs from traditional machine learning since it uses multiple stages of data processing through many hidden layers of a neural network to learn and interpret the features and the relationships between the features. Deep learning embodies neural networks which differs from the traditional machine learning techniques that do not use neural networks.”) and based on a comparison between the piece of computer program code and […] examples (paragraph [0092], “Recall-Oriented Understudy for Gisting Evaluation (ROUGE) is a set of metrics that is used herein to evaluate the quality of the predicted sketch compared to the ground truth code snippet (emphasis added).”), a potential middle portion for the piece of computer program code, wherein the middle portion includes computer program code that can be inserted after the prefix portion and before the suffix portion (Figure 1; paragraph [0026]1, “An insertion point 106 is detected where the developer may want to add in additional source code statements in between existing lines of source code. The insertion point 106 is a location in the source code where additional source code statements will be added [a potential middle portion for the piece of computer program code]. The additional lines of source code need to be consistent with the existing source code (emphasis added).”; paragraph [0111], “The code completion system invokes the code insertion engine to generate an insertion candidate to insert into the program at the insertion point using the deep learning models given the code insertion state. The insertion candidate may include one or more source code statements. (Collectively, block 1108) (emphasis added).”). [1Examiner’s Remarks: Note that Figure 1 of Sundaresan depicts an insertion point of additional source code statements after the prefix portion and before the suffix portion of the existing lines of source code. As can be seen, the insertion point is shown as a middle portion located after the prefix portion and before the suffix portion of the existing lines of source code. Thus, one of ordinary skill in the art would readily comprehend that the limitation “a potential middle portion for the piece of computer program code,” given its plain meaning consistent with the specification, can be mapped to Sundaresan’s insertion point of additional source code statements after the prefix portion and before the suffix portion of the existing lines of source code. See MPEP § 2173.01(I).] Sundaresan does not explicitly disclose: generating, based on a domain-specific code base, simulated incomplete examples of completed computer program code. However, Sloyan discloses: generating, based on a domain-specific code base, […] incomplete examples of completed computer program code (col. 2 lines 47-57, “Source code may be in one or more programming languages. The term ‘programming language’ refers herein to a formally defined language designed to communicate instructions to a computer system or designed to describe a presentation and/or manipulation of data in a particular framework/environment that runs on a computer system. Non-limiting examples of programming languages are C++, C, Java, JavaScript (JS), Python, Cascading Style Sheets (CS S), Sequel Query Language (SQL) and HyperText Markup Language (HTML) [based on a domain-specific code base].”; col. 7 lines 29-36, “[…] the source code stored in repository 142 is accurate [completed computer program code]. Programming system 100 automatically generates one or more bugs and modifies the accurate source code before presenting the programming task to the client computer system of the user. Programming system 100 may analyze the metadata for the programming task and/or the accurate source code to modify the source code to introduce the one or more inaccuracies [generating, based on a domain-specific code base, {…} incomplete examples of completed computer program code].”). As pointed out hereinabove, Sundaresan and Sloyan are both analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Sloyan into the teaching of Sundaresan to include “generating, based on a domain-specific code base, […] incomplete examples of completed computer program code.” The modification would be obvious because one of ordinary skill in the art would be motivated to utilize automated test tools to verify that a computer program performs a particular task (Sloyan, col. 1 lines 53 and 54). The combination of Sundaresan and Sloyan discloses “incomplete examples of completed computer program code,” but the combination of Sundaresan and Sloyan does not explicitly disclose: […] simulated incomplete examples of completed computer program code. However, Kratochvil discloses: […] simulated incomplete examples of completed computer program code (Figure 2; paragraph [0018], “A programming user interface 105 can receive user input that defines source code functions to be performed. The programming user interface 105 can be coupled to a programming tool 121 to define logic using the user input. The logic can be referred to as source code 109. Examples of a programming tool 121 include tools for programming in Java, Perl, Python, Ada, C, C++, FreeBASIC, FreePascal, and Fortran.”; paragraph [0022]2, “The source line simulator system 103 can simulate a correct line of source code [simulated incomplete examples of completed computer program code] in response to executing a debugging command (e.g., a line of source code that corresponds to a source line of a call of the executed function at the caller function when executing a finish command) and can generate the debugging GUI 127 that displays an indicator at the simulated (correct) source code line as a user may expect (emphasis added).”). [2Examiner’s Remarks: Note that Kratochvil discloses that the source line simulator system can simulate a correct line of source code. And Figure 2 of Kratochvil depicts an exemplary source code for a completed computer program. Thus, one of ordinary skill in the art would readily comprehend that the simulated correct line of source code is a simulated incomplete example of completed source code because one line of source code is an incomplete portion of a completed source code.] As pointed out hereinabove, Kratochvil is an analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Kratochvil into the combined teachings of Sundaresan and Sloyan to include “[…] simulated incomplete examples of completed computer program code.” The modification would be obvious because one of ordinary skill in the art would be motivated to simulate a correct line of source code to replace a line of source code that is not correct (a line of source code that is not what a user expects) (Kratochvil, paragraph [0016]). As per Claim 2, the rejection of Claim 1 is incorporated; and Sundaresan further discloses: presenting the potential middle portion as a code completion suggestion (paragraph [0111], “The code completion system invokes the code insertion engine to generate an insertion candidate to insert into the program at the insertion point [a code completion suggestion] using the deep learning models given the code insertion state. The insertion candidate may include one or more source code statements. (Collectively, block 1108) (emphasis added).”; paragraph [0112]1, “One or more insertion candidates may be displayed in the source code program [presenting the potential middle portion as a code completion suggestion] (block 1110). The developer may select an insertion candidate which is input into the source code program (block 1112).”). [1Examiner’s Remarks: Under the broadest reasonable interpretation (BRI), the plain meaning of the limitation “presenting” includes displaying, which is consistent with the specification. Thus, the limitation “presenting,” given its plain meaning consistent with the specification, is mapped to Sundaresan’s displaying. See MPEP § 2173.01(I).] As per Claim 3, the rejection of Claim 1 is incorporated; and Sundaresan further discloses: wherein the potential middle portion for the piece of computer program code is identified based on completed examples of computer program code (paragraph [0002], “Typically, the code completion feature completes a partially-formed code element based on the context that precedes the current cursor position [based on completed examples of computer program code]. The context may include a few characters that start a method invocation, a variable name, or other code element. A popup menu may appear with several suggestions to complete the partially-formed code element. This assistance is beneficial since it speeds up the development time and reduces common errors, such as typos (emphasis added).”; paragraph [0111], “The code completion system invokes the code insertion engine to generate an insertion candidate to insert into the program at the insertion point using the deep learning models given the code insertion state. The insertion candidate may include one or more source code statements [wherein the potential middle portion for the piece of computer program code is identified]. (Collectively, block 1108).”). As per Claim 7, the rejection of Claim 1 is incorporated; and Sundaresan further discloses: wherein generating, for the piece of computer program code, at least one of a prefix portion of the piece of computer program code and a suffix portion of the piece of computer program code is based upon identifying of one or more semantically meaningful code units within the piece of computer program code (paragraph [0031], “Both of these source code statements are syntactically-correct since they adhere to the grammar of the underlying programming language. They are semantically-correct since they utilize a consistent type usage with the existing source code [based upon identifying of one or more semantically meaningful code units within the piece of computer program code]. The statements utilize the variables MaxDistance and MinScale consistent with the existing definitions (emphasis added).”; paragraph [0110], “Upon the detection of an insertion point, the source code editor extracts the prefix and the suffix surrounding the insertion point [wherein generating, for the piece of computer program code, at least one of a prefix portion of the piece of computer program code and a suffix portion of the piece of computer program code] from the concrete syntax tree and forms the code insertion state. The code insertion state includes the prefix, single non-terminal symbol <start><statement><stop>, and suffix. (Collectively, block 1106) (emphasis added).”). As per Claim 8, the rejection of Claim 7 is incorporated; and Sundaresan further discloses: performing program analysis on computer program code within the code base to generate a plurality of candidate semantically meaningful code units that are contained in the code base (paragraph [0028], “The source code program is parsed into a concrete syntax tree 110 [performing program analysis on computer program code] from which the prefix 104 and the suffix 108 are extracted. The prefix and the suffix consist of terminal symbols from the concrete syntax tree 110 that surround the insertion point.”; paragraph [0031], “Both of these source code statements are syntactically-correct since they adhere to the grammar of the underlying programming language. They are semantically-correct since they utilize a consistent type usage with the existing source code [generate a plurality of candidate semantically meaningful code units]. The statements utilize the variables MaxDistance and MinScale consistent with the existing definitions (emphasis added).”; paragraph [0046], “A source code repository 308 [the code base] may be a file archive and web hosting facility that stores large amounts of source code either privately or publicly. The source code repository 308 can be structured as a version control system, such as GIT, Mercurial, etc.”). As per Claim 9, the rejection of Claim 8 is incorporated; and Sundaresan further discloses: wherein performing program analysis on computer program code within the code base includes generating a syntax tree for one or more files within the code base (paragraph [0028], “The source code program is parsed into a concrete syntax tree 110 [wherein performing program analysis on computer program code within the code base includes generating a syntax tree] from which the prefix 104 and the suffix 108 are extracted. The prefix and the suffix consist of terminal symbols from the concrete syntax tree 110 that surround the insertion point (emphasis added).”; paragraph [0046], “A source code repository 308 may be a file archive [one or more files within the code base] and web hosting facility that stores large amounts of source code either privately or publicly. The source code repository 308 can be structured as a version control system, such as GIT, Mercurial, etc.”). As per Claim 12, Sundaresan discloses: A non-transitory computer-readable storage medium (Figure 13: 1308) having instructions stored thereon that, when executed by a processor, cause the processor to: identify, for a piece of computer program code, at least one of a prefix portion of the computer program code and a suffix portion of the computer program code (Figure 1; paragraph [0028], “The source code program [a piece of computer program code] is parsed into a concrete syntax tree 110 from which the prefix 104 and the suffix 108 are extracted. The prefix and the suffix consist of terminal symbols from the concrete syntax tree 110 that surround the insertion point (emphasis added).”; paragraph [0110], “Upon the detection of an insertion point, the source code editor extracts the prefix and the suffix surrounding the insertion point [identifying, for a piece of computer program code, at least one of a prefix portion of the computer program code and a suffix portion of the computer program code] from the concrete syntax tree and forms the code insertion state. The code insertion state includes the prefix, single non-terminal symbol <start><statement><stop>, and suffix. (Collectively, block 1106) (emphasis added).”); generate, by a generative artificial intelligence model (paragraph [0053], “Deep learning [a generative artificial intelligence model] differs from traditional machine learning since it uses multiple stages of data processing through many hidden layers of a neural network to learn and interpret the features and the relationships between the features. Deep learning embodies neural networks which differs from the traditional machine learning techniques that do not use neural networks.”) and based on a comparison between the piece of computer program code and […] examples (paragraph [0092], “Recall-Oriented Understudy for Gisting Evaluation (ROUGE) is a set of metrics that is used herein to evaluate the quality of the predicted sketch compared to the ground truth code snippet (emphasis added).”), a potential middle portion for the computer program code, wherein the middle portion includes computer program code that can be inserted after the prefix portion and before the suffix portion (Figure 1; paragraph [0026]1, “An insertion point 106 is detected where the developer may want to add in additional source code statements in between existing lines of source code. The insertion point 106 is a location in the source code where additional source code statements will be added [a potential middle portion for the computer program code]. The additional lines of source code need to be consistent with the existing source code (emphasis added).”; paragraph [0111], “The code completion system invokes the code insertion engine to generate an insertion candidate to insert into the program at the insertion point using the deep learning models given the code insertion state. The insertion candidate may include one or more source code statements. (Collectively, block 1108) (emphasis added).”); and [1Examiner’s Remarks: Note that Figure 1 of Sundaresan depicts an insertion point of additional source code statements after the prefix portion and before the suffix portion of the existing lines of source code. As can be seen, the insertion point is shown as a middle portion located after the prefix portion and before the suffix portion of the existing lines of source code. Thus, one of ordinary skill in the art would readily comprehend that the limitation “a potential middle portion for the computer program code,” given its plain meaning consistent with the specification, can be mapped to Sundaresan’s insertion point of additional source code statements after the prefix portion and before the suffix portion of the existing lines of source code. See MPEP § 2173.01(I).] present the potential middle portion as a code completion suggestion (paragraph [0111], “The code completion system invokes the code insertion engine to generate an insertion candidate to insert into the program at the insertion point [a code completion suggestion] using the deep learning models given the code insertion state. The insertion candidate may include one or more source code statements. (Collectively, block 1108) (emphasis added).”; paragraph [0112]2, “One or more insertion candidates may be displayed in the source code program [present the potential middle portion as a code completion suggestion] (block 1110). The developer may select an insertion candidate which is input into the source code program (block 1112).”). [2Examiner’s Remarks: Under the broadest reasonable interpretation (BRI), the plain meaning of the limitation “presenting” includes displaying, which is consistent with the specification. Thus, the limitation “presenting,” given its plain meaning consistent with the specification, is mapped to Sundaresan’s displaying. See MPEP § 2173.01(I).] Sundaresan does not explicitly disclose: generate, based on a domain-specific code base, simulated incomplete examples of completed computer program code. However, Sloyan discloses: generate, based on a domain-specific code base, […] incomplete examples of completed computer program code (col. 2 lines 47-57, “Source code may be in one or more programming languages. The term ‘programming language’ refers herein to a formally defined language designed to communicate instructions to a computer system or designed to describe a presentation and/or manipulation of data in a particular framework/environment that runs on a computer system. Non-limiting examples of programming languages are C++, C, Java, JavaScript (JS), Python, Cascading Style Sheets (CS S), Sequel Query Language (SQL) and HyperText Markup Language (HTML) [based on a domain-specific code base].”; col. 7 lines 29-36, “[…] the source code stored in repository 142 is accurate [completed computer program code]. Programming system 100 automatically generates one or more bugs and modifies the accurate source code before presenting the programming task to the client computer system of the user. Programming system 100 may analyze the metadata for the programming task and/or the accurate source code to modify the source code to introduce the one or more inaccuracies [generate, based on a domain-specific code base, {…} incomplete examples of completed computer program code].”). As pointed out hereinabove, Sundaresan and Sloyan are both analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Sloyan into the teaching of Sundaresan to include “generate, based on a domain-specific code base, […] incomplete examples of completed computer program code.” The modification would be obvious because one of ordinary skill in the art would be motivated to utilize automated test tools to verify that a computer program performs a particular task (Sloyan, col. 1 lines 53 and 54). The combination of Sundaresan and Sloyan discloses “incomplete examples of completed computer program code,” but the combination of Sundaresan and Sloyan does not explicitly disclose: […] simulated incomplete examples of completed computer program code. However, Kratochvil discloses: […] simulated incomplete examples of completed computer program code (Figure 2; paragraph [0018], “A programming user interface 105 can receive user input that defines source code functions to be performed. The programming user interface 105 can be coupled to a programming tool 121 to define logic using the user input. The logic can be referred to as source code 109. Examples of a programming tool 121 include tools for programming in Java, Perl, Python, Ada, C, C++, FreeBASIC, FreePascal, and Fortran.”; paragraph [0022]3, “The source line simulator system 103 can simulate a correct line of source code [simulated incomplete examples of completed computer program code] in response to executing a debugging command (e.g., a line of source code that corresponds to a source line of a call of the executed function at the caller function when executing a finish command) and can generate the debugging GUI 127 that displays an indicator at the simulated (correct) source code line as a user may expect (emphasis added).”). [3Examiner’s Remarks: Note that Kratochvil discloses that the source line simulator system can simulate a correct line of source code. And Figure 2 of Kratochvil depicts an exemplary source code for a completed computer program. Thus, one of ordinary skill in the art would readily comprehend that the simulated correct line of source code is a simulated incomplete example of completed source code because one line of source code is an incomplete portion of a completed source code.] As pointed out hereinabove, Kratochvil is an analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Kratochvil into the combined teachings of Sundaresan and Sloyan to include “[…] simulated incomplete examples of completed computer program code.” The modification would be obvious because one of ordinary skill in the art would be motivated to simulate a correct line of source code to replace a line of source code that is not correct (a line of source code that is not what a user expects) (Kratochvil, paragraph [0016]). As per Claim 15, Sundaresan discloses: A system (Figure 13) comprising: a memory (Figure 13: 1310); and a processor (Figure 13: 1304), operatively coupled to the memory, the processor configured to: receive, for a piece of computer program code, at least one of a prefix portion of the piece of computer program code and a suffix portion of the piece of computer program code (Figure 1; paragraph [0028]1, “The source code program [a piece of computer program code] is parsed into a concrete syntax tree 110 from which the prefix 104 and the suffix 108 are extracted. The prefix and the suffix consist of terminal symbols from the concrete syntax tree 110 that surround the insertion point (emphasis added).”; paragraph [0110], “Upon the detection of an insertion point, the source code editor extracts the prefix and the suffix surrounding the insertion point [receive, for a piece of computer program code, at least one of a prefix portion of the piece of computer program code and a suffix portion of the piece of computer program code] from the concrete syntax tree and forms the code insertion state. The code insertion state includes the prefix, single non-terminal symbol <start><statement><stop>, and suffix. (Collectively, block 1106) (emphasis added).”); and [1Examiner’s Remarks: Note that Sundaresan discloses the source code editor extracting the prefix and the suffix surrounding the insertion point from the concrete syntax tree of the source code program. Thus, one of ordinary skill in the art would readily comprehend that the limitation “receive,” given its plain meaning consistent with the specification, can be mapped to Sundaresan’s extracting because once the prefix and the suffix surrounding the insertion point are extracted, they are received by, for example, a source code editor. See MPEP § 2173.01(I).] generate, by a generative artificial intelligence model (paragraph [0053], “Deep learning [a generative artificial intelligence model] differs from traditional machine learning since it uses multiple stages of data processing through many hidden layers of a neural network to learn and interpret the features and the relationships between the features. Deep learning embodies neural networks which differs from the traditional machine learning techniques that do not use neural networks.”) and based on a comparison between the piece of computer program code and […] examples (paragraph [0092], “Recall-Oriented Understudy for Gisting Evaluation (ROUGE) is a set of metrics that is used herein to evaluate the quality of the predicted sketch compared to the ground truth code snippet (emphasis added).”), a potential middle portion for the piece of computer program code, wherein the middle portion includes computer program code that can be inserted after the prefix portion and before the suffix portion (Figure 1; paragraph [0026]2, “An insertion point 106 is detected where the developer may want to add in additional source code statements in between existing lines of source code. The insertion point 106 is a location in the source code where additional source code statements will be added [a potential middle portion for the piece of computer program code]. The additional lines of source code need to be consistent with the existing source code (emphasis added).”; paragraph [0111], “The code completion system invokes the code insertion engine to generate an insertion candidate to insert into the program at the insertion point using the deep learning models given the code insertion state. The insertion candidate may include one or more source code statements. (Collectively, block 1108) (emphasis added).”). [2Examiner’s Remarks: Note that Figure 1 of Sundaresan depicts an insertion point of additional source code statements after the prefix portion and before the suffix portion of the existing lines of source code. As can be seen, the insertion point is shown as a middle portion located after the prefix portion and before the suffix portion of the existing lines of source code. Thus, one of ordinary skill in the art would readily comprehend that the limitation “a potential middle portion for the piece of computer program code,” given its plain meaning consistent with the specification, can be mapped to Sundaresan’s insertion point of additional source code statements after the prefix portion and before the suffix portion of the existing lines of source code. See MPEP § 2173.01(I).] Sundaresan does not explicitly disclose: generate, based on a domain-specific code base, simulated incomplete examples of completed computer program code. However, Sloyan discloses: generate, based on a domain-specific code base, […] incomplete examples of completed computer program code (col. 2 lines 47-57, “Source code may be in one or more programming languages. The term ‘programming language’ refers herein to a formally defined language designed to communicate instructions to a computer system or designed to describe a presentation and/or manipulation of data in a particular framework/environment that runs on a computer system. Non-limiting examples of programming languages are C++, C, Java, JavaScript (JS), Python, Cascading Style Sheets (CS S), Sequel Query Language (SQL) and HyperText Markup Language (HTML) [based on a domain-specific code base].”; col. 7 lines 29-36, “[…] the source code stored in repository 142 is accurate [completed computer program code]. Programming system 100 automatically generates one or more bugs and modifies the accurate source code before presenting the programming task to the client computer system of the user. Programming system 100 may analyze the metadata for the programming task and/or the accurate source code to modify the source code to introduce the one or more inaccuracies [generate, based on a domain-specific code base, {…} incomplete examples of completed computer program code].”). As pointed out hereinabove, Sundaresan and Sloyan are both analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Sloyan into the teaching of Sundaresan to include “generate, based on a domain-specific code base, […] incomplete examples of completed computer program code.” The modification would be obvious because one of ordinary skill in the art would be motivated to utilize automated test tools to verify that a computer program performs a particular task (Sloyan, col. 1 lines 53 and 54). The combination of Sundaresan and Sloyan discloses “incomplete examples of completed computer program code,” but the combination of Sundaresan and Sloyan does not explicitly disclose: […] simulated incomplete examples of completed computer program code. However, Kratochvil discloses: […] simulated incomplete examples of completed computer program code (Figure 2; paragraph [0018], “A programming user interface 105 can receive user input that defines source code functions to be performed. The programming user interface 105 can be coupled to a programming tool 121 to define logic using the user input. The logic can be referred to as source code 109. Examples of a programming tool 121 include tools for programming in Java, Perl, Python, Ada, C, C++, FreeBASIC, FreePascal, and Fortran.”; paragraph [0022]3, “The source line simulator system 103 can simulate a correct line of source code [simulated incomplete examples of completed computer program code] in response to executing a debugging command (e.g., a line of source code that corresponds to a source line of a call of the executed function at the caller function when executing a finish command) and can generate the debugging GUI 127 that displays an indicator at the simulated (correct) source code line as a user may expect (emphasis added).”). [3Examiner’s Remarks: Note that Kratochvil discloses that the source line simulator system can simulate a correct line of source code. And Figure 2 of Kratochvil depicts an exemplary source code for a completed computer program. Thus, one of ordinary skill in the art would readily comprehend that the simulated correct line of source code is a simulated incomplete example of completed source code because one line of source code is an incomplete portion of a completed source code.] As pointed out hereinabove, Kratochvil is an analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Kratochvil into the combined teachings of Sundaresan and Sloyan to include “[…] simulated incomplete examples of completed computer program code.” The modification would be obvious because one of ordinary skill in the art would be motivated to simulate a correct line of source code to replace a line of source code that is not correct (a line of source code that is not what a user expects) (Kratochvil, paragraph [0016]). Claim 16 is a system claim corresponding to the method claim hereinabove (Claim 2). Therefore, Claim 16 is rejected for the same reason set forth in the rejection of Claim 2. Claims 4, 13, and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Sundaresan in view of Sloyan and Kratochvil as applied to Claims 1, 12, and 15 above, and further in view of US 2012/0311546 (hereinafter “Fanning”). [Examiner’s Remarks: In order for a reference to be proper for use in an obviousness rejection under 35 U.S.C. 103, the reference must be analogous art to the claimed invention. In re Bigio, 381 F.3d 1320, 1325, 72 USPQ2d 1209, 1212 (Fed. Cir. 2004). A reference is analogous art to the claimed invention if: (1) the reference is from the same field of endeavor as the claimed invention (even if it addresses a different problem); or (2) the reference is reasonably pertinent to the problem faced by the inventor (even if it is not in the same field of endeavor as the claimed invention). Note that the claimed invention is generally directed to fill-in-the-middle (FIM) code completions using static code analysis (specification, paragraph [0008]). As for the “reasonably pertinent” test, Fanning is generally directed to transforming dynamic code (Fanning, Abstract). Thus, Fanning is an analogous art to the claimed invention (even if it is not in the same field of endeavor as the claimed invention). See MPEP § 2141.01(a)(I).] As per Claim 4, the rejection of Claim 1 is incorporated; and the combination of Sundaresan, Sloyan, and Kratochvil discloses “generating the simulated incomplete examples of completed computer code” and “generate incomplete code representations” (see 35 U.S.C. 103 rejection of Claim 1 hereinabove), but the combination of Sundaresan, Sloyan, and Kratochvil does not explicitly disclose: wherein generating the simulated incomplete examples of completed computer code comprises: parsing completed computer program code to generate a syntax tree; and removing one or more nodes from the syntax tree to generate incomplete code representations. However, Fanning discloses: parsing completed computer program code to generate a syntax tree (paragraph [0030], “The parsers can parse various bodies of computer code to produce ASTs 406, such as the AST 106 illustrated in FIG. 1 (emphasis added).”); and removing one or more nodes from the syntax tree […] (paragraph [0072], “[…] remove node from AST and replace it with its value (emphasis added).”). As pointed out hereinabove, Fanning is an analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Fanning into the combined teachings of Sundaresan, Sloyan, and Kratochvil to include “parsing completed computer program code to generate a syntax tree; and removing one or more nodes from the syntax tree to generate incomplete code representations.” The modification would be obvious because one of ordinary skill in the art would be motivated to traverse an abstract syntax trees (AST) and construct a hierarchical symbol table that expresses scoping of all discovered symbols (Fanning, paragraph [0032]). Claim 13 is a non-transitory computer-readable storage medium claim corresponding to the method claim hereinabove (Claim 4). Therefore, Claim 13 is rejected for the same reason set forth in the rejection of Claim 4. Claim 17 is a system claim corresponding to the method claim hereinabove (Claim 4). Therefore, Claim 17 is rejected for the same reason set forth in the rejection of Claim 4. Claims 6, 14, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Sundaresan in view of Sloyan and Kratochvil as applied to Claims 1, 12, and 15 above, and further in view of US 2023/0036410 (hereinafter “Moyal”). [Examiner’s Remarks: In order for a reference to be proper for use in an obviousness rejection under 35 U.S.C. 103, the reference must be analogous art to the claimed invention. In re Bigio, 381 F.3d 1320, 1325, 72 USPQ2d 1209, 1212 (Fed. Cir. 2004). A reference is analogous art to the claimed invention if: (1) the reference is from the same field of endeavor as the claimed invention (even if it addresses a different problem); or (2) the reference is reasonably pertinent to the problem faced by the inventor (even if it is not in the same field of endeavor as the claimed invention). Note that the claimed invention is generally directed to fill-in-the-middle (FIM) code completions using static code analysis (specification, paragraph [0008]). As for the “reasonably pertinent” test, Moyal is generally directed to digital twin functional and non-functional simulation testing (Moyal, paragraph [0004]). Thus, Moyal is an analogous art to the claimed invention (even if it is not in the same field of endeavor as the claimed invention). See MPEP § 2141.01(a)(I).] As per Claim 6, the rejection of Claim 1 is incorporated; and the combination of Sundaresan, Sloyan, and Kratochvil discloses “the potential middle portion for the piece of computer program code is identified” (see 35 U.S.C. 103 rejection of Claim 1 hereinabove), but the combination of Sundaresan, Sloyan, and Kratochvil does not explicitly disclose: wherein the potential middle portion for the piece of computer program code is identified based on simulated completions of incomplete computer program code. However, Moyal discloses: […] based on simulated completions of incomplete computer program code (paragraph [0042], “[…] the digital twin testing system 110 looks at dependent and independent modules of the application with respect to the simulated code to suggest changes to the code (emphasis added).”; paragraph [0056], “[…] the digital twin testing system 110 executes the code that has been developed so far with simulated data. In certain embodiments, the digital twin testing system 110 considers how much code has been developed and how much is pending (i.e., is to be developed). The digital twin testing system 110 executes actual code for the developed part [incomplete computer program code] and performs a simulation for the non-developed code [simulated completions] based on historical learning of what the code is likely to do (e.g., by estimating a folder size, etc.) (emphasis added).”; paragraph [0057], “Based on the simulation, the digital twin testing system 110 recommends which portions of the code should be modified (emphasis added).”). As pointed out hereinabove, Moyal is an analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Moyal into the combined teachings of Sundaresan, Sloyan, and Kratochvil to include “wherein the potential middle portion for the piece of computer program code is identified based on simulated completions of incomplete computer program code.” The modification would be obvious because one of ordinary skill in the art would be motivated to recommend which portions of computer program code should be modified based on a simulation (Moyal, paragraph [0057]). Claim 14 is a non-transitory computer-readable storage medium claim corresponding to the method claim hereinabove (Claim 5). Therefore, Claim 14 is rejected for the same reason set forth in the rejection of Claim 5. Claim 20 is a system claim corresponding to the method claim hereinabove (Claim 5). Therefore, Claim 20 is rejected for the same reason set forth in the rejection of Claim 5. Claims 10 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Sundaresan in view of Sloyan and Kratochvil as applied to Claims 1 and 15 above, and further in view of US 2024/0338293 (hereinafter “Jin”). [Examiner’s Remarks: In order for a reference to be proper for use in an obviousness rejection under 35 U.S.C. 103, the reference must be analogous art to the claimed invention. In re Bigio, 381 F.3d 1320, 1325, 72 USPQ2d 1209, 1212 (Fed. Cir. 2004). A reference is analogous art to the claimed invention if: (1) the reference is from the same field of endeavor as the claimed invention (even if it addresses a different problem); or (2) the reference is reasonably pertinent to the problem faced by the inventor (even if it is not in the same field of endeavor as the claimed invention). Note that the claimed invention is generally directed to fill-in-the-middle (FIM) code completions using static code analysis (specification, paragraph [0008]). As for the “reasonably pertinent” test, Jin is generally directed to monitoring an application program (Jin, paragraph [0002]). Thus, Jin is an analogous art to the claimed invention (even if it is not in the same field of endeavor as the claimed invention). See MPEP § 2141.01(a)(I).] As per Claim 10, the rejection of Claim 1 is incorporated; and Sundaresan discloses “generation of a code completion recommendation” (paragraph [0111], “The code completion system invokes the code insertion engine to generate an insertion candidate to insert into the program at the insertion point [generation of a code completion recommendation] using the deep learning models given the code insertion state. The insertion candidate may include one or more source code statements. (Collectively, block 1108) (emphasis added).”) and “generating an additional code completion recommendation” (paragraph [0111], “The code completion system invokes the code insertion engine to generate an insertion candidate to insert into the program at the insertion point [generating an additional code completion recommendation] using the deep learning models given the code insertion state. The insertion candidate may include one or more source code statements. (Collectively, block 1108) (emphasis added).”), but the combination of Sundaresan, Sloyan, and Kratochvil does not explicitly disclose: pausing generation of a code completion recommendation at a predetermined point; and responsive to receiving a user request to continue code generation, generating an additional code completion recommendation. However, Jin discloses: pausing [running of code] at a predetermined point (paragraph [0053], “[…] in Step S204, after pausing the running of the codes of the first functional block [pausing {running of code} at a predetermined point], the method further comprises: continuing to run subsequent codes in response to a continue-to-run request entered by the user on the interface.”); and responsive to receiving a user request to continue [the running of the code] […] (paragraph [0053], “[…] in Step S204, after pausing the running of the codes of the first functional block, the method further comprises: continuing to run subsequent codes in response to a continue-to-run request entered by the user on the interface [responsive to receiving a user request to continue {the running of the code}].”). As pointed out hereinabove, Jin is an analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Jin into the combined teachings of Sundaresan, Sloyan, and Kratochvil to include “pausing generation of a code completion recommendation at a predetermined point; and responsive to receiving a user request to continue code generation, generating an additional code completion recommendation.” The modification would be obvious because one of ordinary skill in the art would be motivated to allow a user to determine when to pause and when to continue a code completion recommendation. Claim 18 is a system claim corresponding to the method claim hereinabove (Claim 10). Therefore, Claim 18 is rejected for the same reason set forth in the rejection of Claim 10. Claims 11 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Sundaresan in view of Sloyan and Kratochvil as applied to Claims 1 and 15 above, and further in view of US 2020/0097261 (hereinafter “Smith”). [Examiner’s Remarks: In order for a reference to be proper for use in an obviousness rejection under 35 U.S.C. 103, the reference must be analogous art to the claimed invention. In re Bigio, 381 F.3d 1320, 1325, 72 USPQ2d 1209, 1212 (Fed. Cir. 2004). A reference is analogous art to the claimed invention if: (1) the reference is from the same field of endeavor as the claimed invention (even if it addresses a different problem); or (2) the reference is reasonably pertinent to the problem faced by the inventor (even if it is not in the same field of endeavor as the claimed invention). Note that the claimed invention is generally directed to fill-in-the-middle (FIM) code completions using static code analysis (specification, paragraph [0008]). As for the “same field of endeavor” test, Smith is generally directed to code completion during programming and development (Smith, paragraph [0002]). Thus, Smith is an analogous art to the claimed invention (even if it addresses a different problem). See MPEP § 2141.01(a)(I).] As per Claim 11, the rejection of Claim 1 is incorporated; and the combination of Sundaresan, Sloyan, and Kratochvil does not explicitly disclose: inserting, into a code completion recommendation, an indication to skip over subsequent code. However, Smith discloses: inserting, into a code completion recommendation, an indication to skip over subsequent code (paragraph [0065], “Code completion may provide the programmer with one or more options to automatically insert, complete, or modify code in the programming environment [a code completion recommendation]. For example, as the programmer types code, the code completion system 342 may predict and present options for code snippets to insert into the source code 310 displayed in the editor 302 (emphasis added).”; paragraph [0066], “The editor 302 may include user interface elements for performing actions on the source code 310. In step 403, the editor 302 responds to inputs of the programmer to perform additions, insertions, modifications, edits, or deletions of the source code 310 (emphasis added).”; paragraph [0079], “Examples of positive inputs include detecting selection of the code snippet by the user, hovering or focusing on the code snippet by the user, long dwell time on the code snippet by the user, skipping higher ranked code snippets [skip over subsequent code] to select this code snippet, and so on. Examples of negative inputs include detecting that the user did not select the code snippet and skipping this code snippet [skip over subsequent code] to select a lower ranked code snippet. In this manner, the code completion system 342 may adjust the code snippets that it suggests based on past usage of code completion system 342 by the programmer, by programmers on the same team, or by other programmers in general (emphasis added).”). As pointed out hereinabove, Smith is an analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Smith into the combined teachings of Sundaresan, Sloyan, and Kratochvil to include “inserting, into a code completion recommendation, an indication to skip over subsequent code.” The modification would be obvious because one of ordinary skill in the art would be motivated to adjust code snippet suggestions based on past usage of a code completion system by a programmer, by programmers on the same team, or by other programmers in general (Smith, paragraph [0079]). Claim 19 is a system claim corresponding to the method claim hereinabove (Claim 11). Therefore, Claim 19 is rejected for the same reason set forth in the rejection of Claim 11. Response to Arguments Applicant’s arguments with respect to Claims 1, 12, and 15 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument. In the Remarks, the Applicant argues: In particular, applicant submits that the claims, as amended, do not recite an abstract idea, and rather includes the steps for filling in middle sections of a portion of code based on simulated examples from a domain-specific code base, providing for particularly informed code suggestions. For example, these steps are described in the Specification in at least the following paragraphs: […] Applicant submits that the claimed features go well beyond merely applying a computer to perform an abstract idea. In particular, the claim features include operations that are inextricably tied to computer technology because the generation of computer code, using a particular code base for generating simulated examples, and the automatic generation of code suggestions necessarily utilize computer technology and specifically relate the manner that computer program code is generated, thus improving the capabilities of computer technology in the area of code generation. Applicant therefore submits that the claims do not recite an abstract idea. (See Remarks – pages 12-14.) Examiner’s response: Examiner disagrees. With respect to the Applicant’s assertion that “[…] the claim features include operations that are inextricably tied to computer technology because the generation of computer code, using a particular code base for generating simulated examples, and the automatic generation of code suggestions necessarily utilize computer technology and specifically relate the manner that computer program code is generated, thus improving the capabilities of computer technology in the area of code generation,” the Examiner respectfully submits that it is clear in the present case that, under Step 2A, Prong One of the 2019 Revised Patent Subject Matter Eligibility Guidance (hereinafter “2019 PEG”), other than reciting “simulated” and “a generative artificial intelligence model,” one could practically perform the generating steps of Claim 1, for example, in the human mind alone, or by a human using pen and paper as a physical aid because the claim consists of only the general approach of generating computer program code. Under the broadest reasonable interpretation (BRI), one could, as a practical matter, generate (or create) computer program code using pen and paper. Under Step 2A, Prong Two of the 2019 PEG, the additional elements of “simulated” and “a generative artificial intelligence model” are recited at a high-level of generality such that they are used as tools to perform the generating steps of Claim 1 (The term “simulated” implies that a computer is used to perform a simulation.). These steps do not require any manipulation of underlying computer operations/functionalities. Thus, the limitations of Claim 1, considered individually or as an ordered combination, improve the technique of generating computer program code, not the technology involved in providing it and therefore, are not indicative of improving underlying computer operations/functionalities. Therefore, for at least the reason set forth above, the rejections made under 35 U.S.C. § 101 with respect to Claims 1-4 and 6-20 are proper and therefore, maintained. In the Remarks, the Applicant argues: Applicant submits that even if the claims recite an abstract idea, the additional features of the claims incorporate the abstract idea into a practical application. The evaluation of a practical application requires the use of considerations identified by the Courts. For example, improvement in computer technology or other field of technology indicates a practical application. (October 2019 Update: Subject Matter Eligibility.) Applicant submits that the claims, as amended, improve the functioning of computer related technology in the areas of computer code completion and computer code generation. Portions of the Specification outlining the improvements are reproduced below: […] Thus, as can be seen above, the current claims improve computer-related technology (e.g., computer code generation assistance) through the use of generative AI trained on or comparing a prefix and suffix portion of computer code being written to simulated examples of incomplete code portions from a particular domain-specific code base. Accordingly, embodiments provide more targeted, accurate, and effective code generation via use of domain specific code for generating recommendations, the use of generative AI for identifying code examples, and particularly comparing simulated incomplete examples to current code being written to identify particularly relevant code suggestions for to fill-in the middle of a portion of code. Thus, the claims are included in a practical application and are not directed to an abstract idea. Accordingly, Applicant submits that the claims are directed to patentable subject matter and respectfully requests withdrawal of the rejections under 35 U.S.C. §101. (See Remarks – pages 14-16.) Examiner’s response: Examiner disagrees. With respect to the Applicant’s assertion that “[…] the current claims improve computer-related technology (e.g., computer code generation assistance) through the use of generative AI trained on or comparing a prefix and suffix portion of computer code being written to simulated examples of incomplete code portions from a particular domain-specific code base,” the Examiner respectfully submits that amending Claim 1, for example, to recite “a generative artificial intelligence model” does not automatically transform the claimed invention into an AI-based invention that improves computer-related technology. As pointed out in the Examiner’s response (a) hereinabove, the addition of “a generative artificial intelligence model” is merely an AI tool to assist in generating computer program code and not indicative of improving underlying computer operations/functionalities. To support the Examiner’s position, attention is drawn to the Applicant’s specification, which expressly states that “[s]ystems, software, and services that leverage generative AI (hereafter referred to as ‘generative AI systems’) may be able to produce outputs that resemble human-generated content, such as text, audio, and more, often enabled through the usage of deep learning techniques and neural networks” (paragraph [0008], emphasis added). Thus, as can be seen, the generative AI of the claimed invention is merely a tool that automates manually-performed prior approaches but with added improvements. The use of AI to automatically perform a mental step does not negate the mental nature of the limitation. Furthermore, the Examiner would like to point out that the courts have indicated that mere automation of manual processes may not be sufficient to show an improvement in computer-functionality. See MPEP § 2106.05(a)(I). In addition, the Examiner further submits that the limitation “a generative artificial intelligence model” is added to Claim 1, for example, after the fact to an abstract idea. “Use of a computer or other machinery in its ordinary capacity for economic or other tasks (e.g., to receive, store, or transmit data) or simply adding a general purpose computer or computer components after the fact to an abstract idea (e.g., a fundamental economic practice or mathematical equation) does not integrate a judicial exception into a practical application or provide significantly more (emphasis added).” See Affinity Labs v. DirecTV, 838 F.3d 1253, 1262, 120 USPQ2d 1201, 1207 (Fed. Cir. 2016). See also MPEP § 2106.05(f). Furthermore, “[…] the courts [do not] distinguish between claims that recite mental processes performed by humans and claims that recite mental processes performed on a computer. As the Federal Circuit has explained, ‘[c]ourts have examined claims that required the use of a computer and still found that the underlying, patent-ineligible invention could be performed via pen and paper or in a person’s mind.’” See Versata Dev. Group v. SAP Am., Inc., 793 F.3d 1306, 1335, 115 USPQ2d 1681, 1702 (Fed. Cir. 2015). See also Intellectual Ventures I LLC v. Symantec Corp., 838 F.3d 1307, 1318, 120 USPQ2d 1353, 1360 (Fed. Cir. 2016). See also MPEP § 2106.04(a)(2). In addition, the Examiner would like to point out that the claimed invention is not rooted in computer technology because it does not solve a problem arising in the realm of computer technology relating to computer program code completion. Applicant’s invention relates generally to fill-in-the-middle (FIM) code completions using static code analysis (specification, paragraph [0008]). Although the FIM code completions are performed by a generative artificial intelligence model, however, the generative artificial intelligence model is a software tool that does not change the underlying operations of a computer itself nor improve the functioning of the computer itself. In other words, the generative artificial intelligence model is executed by a computer and does not affect the computer in any way. Furthermore, the generative artificial intelligence model is a software-based solution that solves the problem of computer program code completion. Thus, the claimed invention is an example of an invention that is not necessarily rooted in computer technology, even if it uses a software tool. Moreover, should there be further prosecution and the Applicant decides to add further computer hardware and/or software components in an attempt to overcome the § 101 rejection, the Examiner would also like to point out that the addition of further computer hardware and/or software components still does not integrate the abstract idea into a practical application. The use of a computer to perform a simulation and a generative artificial intelligence model to perform generating computer program code may improve the abstract idea, but, in this context, is not a technological improvement. See Intellectual Ventures I LLC v. Capital One Bank (USA), 792 F.3d 1363, 1367 (Fed. Cir. 2015) (“[C]laiming the improved speed or efficiency inherent with applying the abstract idea on a computer [does not] provide a sufficient inventive concept.” (emphasis added)); Bancorp Servs., L.L.C. v. Sun Life Assur. Co. of Can. (U.S.), 687 F.3d 1266, 1278 (Fed. Cir. 2012) (“[T]he fact that the required calculations could be performed more efficiently via a computer does not materially alter the patent eligibility of the claimed subject matter.” (emphasis added)); See also Synopsys, Inc. v. Mentor Graphics Corp., 839 F.3d 1138, 1151 (Fed. Cir. 2016) (“[A] new abstract idea is still an abstract idea.”). Considered individually, the additional elements do not recite an improvement to computer technology. Cf. DDR Holdings, LLC v. Hotels.com, L.P., 773 F.3d. 1245 (Fed. Cir. 2014) (“Instead, the claimed solution is necessarily rooted in computer technology in order to overcome a problem specifically arising in the realm of computer networks.”); Enfish, LLC v. Microsoft Corp., 822 F.3d 1327, 1333 (Fed. Cir. 2016) (“The patents teach that multiple benefits flow from this design. First, the patents disclose an indexing technique that allows for faster searching of data than would be possible with the relational model. Second, the patents teach that the self-referential model allows for more effective storage of data other than structured text, such as images and unstructured text. Finally, the patents teach that the self-referential model allows more flexibility in configuring the database.”). Nor do the additional elements, considered individually or as an ordered combination, improve the technology employed to generate computer program code. Cf. BASCOM, 827 F.3d at 1350 (“According to BASCOM, the inventive concept harnesses this technical feature of network technology in a filtering system by associating individual accounts with their own filtering scheme and elements while locating the filtering system on an ISP server.”). Unlike DDR Holdings, Enfish, and BASCOM, the limitations of the pending claims, considered individually or as an ordered combination, improve the technique of generating computer program code, not the technology involved in providing it and therefore, are not indicative of integration into a practical application. Therefore, for at least the reasons set forth above, the rejections made under 35 U.S.C. § 101 with respect to Claims 1-4 and 6-20 are proper and therefore, maintained. Conclusion Applicant’s amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 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 nonprovisional extension fee (37 CFR 1.17(a)) 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 Qing Chen whose telephone number is 571-270-1071. The Examiner can normally be reached on Monday through Friday from 9:00 AM to 5:00 PM ET. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, the Applicant is encouraged to use the USPTO Automated Interview Request (AIR) at https://www.uspto.gov/ interviewpractice. If attempts to reach the Examiner by telephone are unsuccessful, the Examiner’s supervisor, Wei Mui, can be reached at 571-272-3708. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for more information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO customer service representative, call 800-786-9199 (in USA or Canada) or 571-272-1000. /Qing Chen/ Primary Examiner, Art Unit 2191
Read full office action

Prosecution Timeline

Jan 22, 2024
Application Filed
Nov 16, 2025
Non-Final Rejection — §101, §103, §112
Feb 09, 2026
Examiner Interview Summary
Feb 09, 2026
Applicant Interview (Telephonic)
Feb 12, 2026
Response Filed
Mar 18, 2026
Final Rejection — §101, §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12591415
INTELLIGENT AND PREDICTIVE MODULES FOR SOFTWARE DEVELOPMENT AND CODING USING ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING
2y 5m to grant Granted Mar 31, 2026
Patent 12591416
INTELLIGENT AND PREDICTIVE MODULES FOR SOFTWARE DEVELOPMENT AND CODING USING ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING
2y 5m to grant Granted Mar 31, 2026
Patent 12585460
SOFTWARE OBFUSCATION METHOD USING AN OPAQUE PREDICATE BASED ON MULTIPLYING MIXED BOOLEAN-ARTHMETIC EXPRESSIONS
2y 5m to grant Granted Mar 24, 2026
Patent 12572348
Secure Application Acceleration System and Apparatus
2y 5m to grant Granted Mar 10, 2026
Patent 12572339
ACCELERATE INFERENCE PERFORMANCE ON ARTIFICIAL INTELLIGENCE ACCELERATORS
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

3-4
Expected OA Rounds
80%
Grant Probability
99%
With Interview (+51.9%)
2y 10m
Median Time to Grant
Moderate
PTA Risk
Based on 678 resolved cases by this examiner. Grant probability derived from career allow 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