Prosecution Insights
Last updated: October 02, 2026
Application No. 18/622,082

GENERATIVE ARTIFICIAL INTELLIGENCE CODE BLOCK SELECTOR AND CODEBASE UPDATING SYSTEM

Non-Final OA §101§103§112
Filed
Mar 29, 2024
Examiner
AGRAWAL, SHISHIR
Art Unit
2115
Tech Center
2100 — Computer Architecture & Software
Assignee
Rockwell Automation Technologies Inc.
OA Round
1 (Non-Final)
8%
Grant Probability
At Risk
1-2
OA Rounds
1y 6m
Est. Remaining
24%
With Interview

Examiner Intelligence

Grants only 8% of cases
8%
Career Allowance Rate
2 granted / 24 resolved
-46.7% vs TC avg
Strong +15% interview lift
Without
With
+15.4%
Interview Lift
resolved cases with interview
Typical timeline
4y 0m
Avg Prosecution
12 currently pending
Career history
49
Total Applications
across all art units

Statute-Specific Performance

§101
23.9%
-16.1% vs TC avg
§103
40.0%
+0.0% vs TC avg
§102
6.8%
-33.2% vs TC avg
§112
29.4%
-10.6% vs TC avg
Black line = Tech Center average estimate • Based on career data from 24 resolved cases

Office Action

§101 §103 §112
DETAILED ACTION Status of Claims This Office action is responsive to communications filed on 2024-03-29. Claim(s) 1-20 is/are pending and are examined herein. Claim(s) 1-20 is/are objected to. Claim(s) 1-20 invoke(s) interpretation under 35 USC 112(f). Claim(s) 1-20 is/are rejected under 35 USC 112(b). Claim(s) 1-20 is/are rejected under 35 USC 112(a). Claim(s) 1-20 is/are rejected under 35 USC 101. Claim(s) 1-20 is/are rejected under 35 USC 103. Notice of Pre-AIA or AIA Status The present application, filed on or after 2013-03-16, is being examined under the first inventor to file provisions of the AIA . Claim Objections Claim(s) 1-20 is/are objected to because of the following informalities: Claim 1 recites receiving, at a code block selector, configuration criteria via a user interface of a client device, wherein the configuration criteria comprises a quality parameter and a task [emphasis added] but this is ungrammatical. It this should be “receiving, at a code block selector, configuration criteria via a user interface of a client device, wherein the configuration criteria comprise a quality parameter and a task” for proper verb agreement with the plural noun “criteria”. Dependent claims 2-10 inherit the objection. Claim 11 recites receive a configuration criteria via a user interface from a client device, wherein the configuration criteria comprises a quality parameter and a task [emphasis added] but this is ungrammatical. It should be “receive comprise a quality parameter and a task” for proper agreement with the plural noun “criteria”. Dependent claims 12-20 inherit the objection. Claims 17-18 recite wherein the instructions to receive a configuration criteria [emphasis added] but this is ungrammatical. It should be “wherein the instructions to receive the configuration criteria” for grammaticality and proper antecedent basis. Claims 10 and 20 recite selecting an AI model [emphasis added] but this should be “selecting the AI model” for proper antecedent basis (since the parent claim already recites “selecting an artificial intelligence (AI) model”). Appropriate correction is required. Claim Interpretation – 35 USC 112(f) The following is a quotation of 35 USC 112(f): (f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. The following is a quotation of pre-AIA 35 USC 112, sixth paragraph: An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph, is invoked. As explained in MPEP 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph: the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function; the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function. Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function. Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function. Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph, except as otherwise indicated in an Office action. Claim(s) 1-20 recite at least the following elements that invoke an interpretation under 35 USC 112(f). Claims 1 and 11 recite a user interface of a client device [emphasis added] and attribute various functionalities to this “device” (e.g., “receiving, at a code block selector, configuration criteria via a user interface of a client device” or “providing, via the user interface, the selected code block”). The word “device” is a generic placeholder, and the claim attributes functionalities to this device. Moreover, the claims do not recite any specific structure for the “device” that is capable of performing the said functionalities. The examiner notes that, while claim 11 does recite a “code block selector, comprising: one or more processors, and one or more memories having instructions stored thereon”, it does not recite any specific relationship between the “user interface of the client device” and the recited processors and memories (in other words, the explicit recitation of processors and memories in claim 11 does not explicitly tie this hardware to the “client device” that appears in the claim). Claim 11 further recites plurality of code blocks each designed to execute on a controller to perform tasks in an industrial automation environment using industrial automation devices [emphasis added] without describing any specific structure that is capable of executing code blocks or performing tasks in an industrial automation environment. The examiner notes again that, while the claim recites processors and memories as a part of the “code block selector”, it does not recite any structural link between these hardware elements with the “controller” or the “industrial automation devices” of the claim. Dependent claims 2-10 and 12-20 inherit these claim elements. Claim 5 recites sanitizing, by a code block sanitizer, the code block [emphasis added] without describing any specific structures capable of sanitizing code blocks. Claim 15 recites a code block sanitizer, comprising a node on a communication line connecting the code block repository and the code block selector, wherein, in response to receiving a code block from the code block repository, the code block sanitizer outputs a sanitized code block [emphasis added] without describing any structure capable of outputting sanitized code blocks or of connecting the code block repository to the code block selector. The specification indicates that a “[c]lient device 102 represents any computing device capable of rendering a user interface” [specification, 0029], and it is interpreted accordingly. The specification does not clearly indicate what structure underlies the “industrial automation devices” but these are interpreted as referring to generic computers as well. The specification also does not specifically describe what hardware structure underlies a “code block sanitizer” and this element is interpreted herein as a software component that performs the recited functionality. If applicant does not intend to have this/these limitation(s) interpreted under 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph, applicant may: amend the claim limitation(s) to avoid it/them being interpreted under 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 USC 112(f) or pre-AIA 35 USC 112, sixth paragraph. Claim Rejections - 35 USC 112(b) The following is a quotation of 35 USC 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. The following is a quotation of 35 USC 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claim(s) 1-20 is/are rejected under 35 USC 112(b) or 35 USC 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 USC 112, the applicant), regards as the invention. Claims 1 and 11 recite analyzing the execution of each code block with the AI model, and selecting, with the AI model, one of the subset of code block[s] based on the analyzing the execution [emphasis added]. The first underlined phrase has ambiguous antecedent basis since it is not clear which set of code blocks the phrase is intended to quantify over. The claim introduces three potentially distinct sets of code blocks (a “subset of code blocks”, a “plurality of code blocks”, and “one or more code blocks”) and the recitation of “each code block” without a specification of which of these sets of code blocks renders the limitation indefinite. The third underlined phrase has ambiguous antecedent basis for similar reasons, as it does not clarify which execution the selection is to be based on. The second underlined phrase is ungrammatical as recited in claim 1, and moreover introduces duplicate terminology for an entity that has already been named the “selected code block” previously in the claim. As best understood by the examiner in view of the specification, the set over which the phrase “each code block” quantifies over is the “subset of code blocks”, and the examiner correspondingly suggests “analyzing the execution of each code block of the subset of code blocks with the AI model, and selecting, with the AI model, the selected code block based on analyzing the execution of each code of the subset of code blocks” to resolve these issues of indefiniteness. For the purpose of compact prosecution, the claim is interpreted as encompassing at least this interpretation. Dependent claims 2-10 and 12-20 inherit the rejection. Claims 10 and 20 recite selecting an AI model from a tiered list of AI models, wherein each tier of the tiered list of AI models represents a subset of AI models having substantially the same degree of domain specific training data [emphasis added] but the scope of the underlined phrase is indefinite because neither the claim itself nor the specification provides an objective criterion for assessing whether models have “substantially the same degree of domain specific training data”. Moreover, a person of ordinary skill in the art would not be able to supply an objective criterion for this. Claim(s) 1-20 recite(s) elements which invoke interpretation under 35 USC 112(f). As indicated above, these limitations are interpreted according to the specification as being implemented on a generic computer. MPEP 2181(II)(B) indicates that “the structure be more than simply a general purpose computer or microprocessor and that the specification must disclose an algorithm for performing the claimed function”, that “[a]n algorithm is defined, for example, as ‘a finite sequence of steps for solving a logical or mathematical problem or performing a task’” and that “a rejection under 35 USC 112(b) or pre-AIA 35 USC 112, second paragraph is appropriate if the specification discloses no corresponding algorithm associated with a computer or microprocessor”. The specification does not, for example, describe a specific algorithm for “selecting an artificial intelligence model of a plurality of AI models based at least on the configuration criteria” or for “analyzing the execution of each code block with the AI model” or for “sanitizing… the code block”. Consequently, the claim(s) is/are rejected for failing to disclose sufficient structure. Claim Rejections - 35 USC 112(a) The following is a quotation of the first paragraph of 35 USC 112(a): (a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention. The following is a quotation of the first paragraph of pre-AIA 35 USC 112: The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention. Claim(s) 1-20 is/are rejected under 35 USC 112(a) or 35 USC 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 USC 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. Claim(s) 1-20 recite(s) limitations invoked 35 USC 112(f) and are rejected under 35 USC 112(b) for failing to disclose sufficient structure. MPEP 2181(II)(B) indicates that “[w]hen a claim containing a computer-implemented 35 USC 112(f) claim limitation is found to be indefinite under 35 USC 112(b) for failure to disclose sufficient corresponding structure (e.g., the computer and the algorithm) in the specification that performs the entire claimed function, it will also lack written description under 35 USC 112(a).” Consequently, the claim(s) is/are rejected under 35 USC 112(a) for lack of written description. Claim Rejections - 35 USC 101 35 USC 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. Claim(s) 1-20 is/are rejected under 35 USC 101 because the claimed invention(s) is/are directed to abstract ideas without significantly more. Claim 1 Step 1. The claim and its dependents 2-10 fall under the statutory category of methods. An analysis of step 2 for each of these claims follows. Step 2A Prong 1. The claim recites the following abstract ideas: selecting an artificial intelligence (AI) model of a plurality of AI models based at least on the configuration criteria, (This recites a mental process that can be performed in the human mind, since a human mind can select an AI model out of plurality of models. See MPEP 2106.04(a)(2)(III).) analyze an execution of one or more code blocks; (This recites a mental process that can be performed in the human mind, since a human mind can analyze execution of code blocks. See MPEP 2106.04(a)(2)(III).) identifying, [using the AI model,] a selected code block of the subset of code blocks that achieves the quality parameter for the task, (This recites a mental process that can be performed in the human mind, since a human mind can identify a code block from a subset of code blocks. See MPEP 2106.04(a)(2)(III).) analyzing the execution of each code block (This recites a mental process that can be performed in the human mind, since the human mind can analyze execution of code blocks. See MPEP 2106.04(a)(2)(III).) and selecting, [with the AI model,] one of the subset of code block based on the analyzing the execution; (This recites a mental process that can be performed in the human mind, since the human mind can select a code block. See MPEP 2106.04(a)(2)(III).) Step 2A Prong 2. The claim recites the following additional elements which, considered individually and as an ordered combination, do not integrate the abstract idea into a practical application: A method, comprising: receiving, at a code block selector, configuration criteria via a user interface of a client device, (This recites insignificant extra-solution activity. See MPEP 2106.05(g).) wherein the configuration criteria comprises a quality parameter and a task; (This recites data of a particular type or source, merely linking an abstract idea to a particular field of use. See MPEP 2106.05(h).) obtaining a subset of code blocks from a code block repository storing a plurality of code blocks, (This recites insignificant extra-solution activity. See MPEP 2106.05(g).) wherein each code block of the subset of code blocks performs the task when executed; (This recites data of a particular type or source, merely linking an abstract idea to a particular field of use. See MPEP 2106.05(h).) wherein the AI model is trained to [analyze an execution of one or more code blocks] (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) [identifying,] using the AI model, [a selected code block] (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) wherein identifying the selected code block comprises: executing each code block of the subset of code blocks (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) in an isolated testing environment, (This recites a general link between an abstract idea and a particular field of use or technological environment. See MPEP 2106.05(h).) [analyzing the execution of each code block] with the AI model, (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) [and selecting,] with the AI model, [one of the subset of code block] (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) and providing, via the user interface, the selected code block. (This recites insignificant extra-solution activity. See MPEP 2106.05(g).) Step 2B. The claim recites the following additional elements which, considered individually and as an ordered combination, do not amount to significantly more than the abstract idea: A method, comprising: receiving, at a code block selector, configuration criteria via a user interface of a client device, (This insignificant extra-solution activity is well-understood, routine, conventional as it is mere data transfer. See MPEP 2106.05(d)(II), “Receiving or transmitting data over a network” and/or “Storing and retrieving information in memory”.) wherein the configuration criteria comprises a quality parameter and a task; (This recites data of a particular type or source, merely linking an abstract idea to a particular field of use. See MPEP 2106.05(h).) obtaining a subset of code blocks from a code block repository storing a plurality of code blocks, (This insignificant extra-solution activity is well-understood, routine, conventional as it is mere data transfer. See MPEP 2106.05(d)(II), “Receiving or transmitting data over a network” and/or “Storing and retrieving information in memory”.) wherein each code block of the subset of code blocks performs the task when executed; (This recites data of a particular type or source, merely linking an abstract idea to a particular field of use. See MPEP 2106.05(h).) wherein the AI model is trained to [analyze an execution of one or more code blocks] (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) [identifying,] using the AI model, [a selected code block] (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) wherein identifying the selected code block comprises: executing each code block of the subset of code blocks (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) in an isolated testing environment, (This recites a general link between an abstract idea and a particular field of use or technological environment. See MPEP 2106.05(h).) [analyzing the execution of each code block] with the AI model, (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) [and selecting,] with the AI model, [one of the subset of code block] (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) and providing, via the user interface, the selected code block. (The insignificant extra-solution activity is well-understood, routine, conventional as it is merely presenting output. See MPEP 2106.05(d)(II), “Presenting offers”.) Claim 2 Step 2A Prong 1. The claim recites the following abstract ideas: The abstract idea(s) in the parent claim(s). [The method of claim 1, further comprising:] in response to identifying the selected code block, (This recites a mental process that can be performed in the human mind, since a human mind can perform actions in response to identifying something. See MPEP 2106.04(a)(2)(III).) Step 2A Prong 2. The claim recites the following additional elements which, considered individually and as an ordered combination, do not integrate the abstract idea into a practical application: The additional element(s) in the parent claim(s). sending the selected code block to a configuration code building block library. (This recites insignificant extra-solution activity. See MPEP 2106.05(g).) Step 2B. The claim recites the following additional elements which, considered individually and as an ordered combination, do not amount to significantly more than the abstract idea: The additional element(s) in the parent claim(s). sending the selected code block to a configuration code building block library. (This insignificant extra-solution activity is well-understood, routine, conventional as it is mere data transfer. See MPEP 2106.05(d)(II), “Receiving or transmitting data over a network” and/or “Storing and retrieving information in memory”.) Claim 3 Step 2A Prong 1. The claim recites the following abstract ideas: The abstract idea(s) in the parent claim(s). and in response to receiving the confirmation, (This recites a mental process that can be performed in the human mind, since the human mind can perform actions in response to receiving confirmations. See MPEP 2106.04(a)(2)(III).) Step 2A Prong 2. The claim recites the following additional elements which, considered individually and as an ordered combination, do not integrate the abstract idea into a practical application: The additional element(s) in the parent claim(s). [The method of claim 2, wherein sending the selected code block to the configuration code building block library further comprises:] providing a prompt to user, via the user interface, the prompt comprising a request for a confirmation to store the selected code block in the configuration code building block library, (This recites insignificant extra-solution activity. See MPEP 2106.05(g).) adding the selected code block to the configuration code building block library. (This recites insignificant extra-solution ativity. See MPEP 2106.05(g).) Step 2B. The claim recites the following additional elements which, considered individually and as an ordered combination, do not amount to significantly more than the abstract idea: The additional element(s) in the parent claim(s). [The method of claim 2, wherein sending the selected code block to the configuration code building block library further comprises:] providing a prompt to user, via the user interface, the prompt comprising a request for a confirmation to store the selected code block in the configuration code building block library, (The insignificant extra-solution activity is well-understood, routine, conventional as it is merely presenting output. See MPEP 2106.05(d)(II), “Presenting offers”.) adding the selected code block to the configuration code building block library. (This insignificant extra-solution activity is well-understood, routine, conventional as it is mere data transfer. See MPEP 2106.05(d)(II), “Receiving or transmitting data over a network” and/or “Storing and retrieving information in memory”.) Claim 4 Step 2A Prong 1. The claim recites the following abstract ideas: The abstract idea(s) in the parent claim(s). Step 2A Prong 2. The claim recites the following additional elements which, considered individually and as an ordered combination, do not integrate the abstract idea into a practical application: The additional element(s) in the parent claim(s). [The method of claim 1, wherein] the quality parameter of the configuration criteria comprises one of a most energy efficient execution of the task of the configuration criteria, a fastest execution of the task of the configuration criteria, a most secure execution of the task of the configuration criteria, or a combination thereof. (This recites data of a particular type or source, merely linking an abstract idea to a particular field of use. See MPEP 2106.05(h).) Step 2B. The claim recites the following additional elements which, considered individually and as an ordered combination, do not amount to significantly more than the abstract idea: The additional element(s) in the parent claim(s). [The method of claim 1, wherein] the quality parameter of the configuration criteria comprises one of a most energy efficient execution of the task of the configuration criteria, a fastest execution of the task of the configuration criteria, a most secure execution of the task of the configuration criteria, or a combination thereof. (This recites data of a particular type or source, merely linking an abstract idea to a particular field of use. See MPEP 2106.05(h).) Claim 5 Step 2A Prong 1. The claim recites the following abstract ideas: The abstract idea(s) in the parent claim(s). [The method of claim 1, further comprising:] in response to receiving a code block from the code block repository, (This recites a mental process that can be performed in the human mind, since the human mind can perform actions in response to receiving something. See MPEP 2106.04(a)(2)(III).) sanitizing, by a code block sanitizer, the code block. (This recites a mental process that can be performed in the human mind, since the human mind can sanitize code. See MPEP 2106.04(a)(2)(III).) Step 2A Prong 2. The claim recites the following additional elements which, considered individually and as an ordered combination, do not integrate the abstract idea into a practical application: The additional element(s) in the parent claim(s). Step 2B. The claim recites the following additional elements which, considered individually and as an ordered combination, do not amount to significantly more than the abstract idea: The additional element(s) in the parent claim(s). Claim 6 Step 2A Prong 1. The claim recites the following abstract ideas: The abstract idea(s) in the parent claim(s). Step 2A Prong 2. The claim recites the following additional elements which, considered individually and as an ordered combination, do not integrate the abstract idea into a practical application: The additional element(s) in the parent claim(s). [The method of claim 1, wherein] the user interface of the client device comprises an industrial control software development environment. (This recites a general link between an abstract idea and a particular field of use or technological environment. See MPEP 2106.05(h).) Step 2B. The claim recites the following additional elements which, considered individually and as an ordered combination, do not amount to significantly more than the abstract idea: The additional element(s) in the parent claim(s). [The method of claim 1, wherein] the user interface of the client device comprises an industrial control software development environment. (This recites a general link between an abstract idea and a particular field of use or technological environment. See MPEP 2106.05(h).) Claim 7 Step 2A Prong 1. The claim recites the following abstract ideas: The abstract idea(s) in the parent claim(s). Step 2A Prong 2. The claim recites the following additional elements which, considered individually and as an ordered combination, do not integrate the abstract idea into a practical application: The additional element(s) in the parent claim(s). [The method of claim 1, further comprising:] generating, via the user interface, a prompt to launch the code block selector. (This recites insignificant extra-solution activity. See MPEP 2106.05(g).) Step 2B. The claim recites the following additional elements which, considered individually and as an ordered combination, do not amount to significantly more than the abstract idea: The additional element(s) in the parent claim(s). [The method of claim 1, further comprising:] generating, via the user interface, a prompt to launch the code block selector. (The insignificant extra-solution activity is well-understood, routine, conventional as it is merely presenting output. See MPEP 2106.05(d)(II), “Presenting offers”.) Claim 8 Step 2A Prong 1. The claim recites the following abstract ideas: The abstract idea(s) in the parent claim(s). Step 2A Prong 2. The claim recites the following additional elements which, considered individually and as an ordered combination, do not integrate the abstract idea into a practical application: The additional element(s) in the parent claim(s). [The method of claim 1, further comprising:] providing, via the user interface, an interactable element wherein triggering the interactable element launches the code block selector. (This recites insignificant extra-solution activity. See MPEP 2106.05(g).) Step 2B. The claim recites the following additional elements which, considered individually and as an ordered combination, do not amount to significantly more than the abstract idea: The additional element(s) in the parent claim(s). [The method of claim 1, further comprising:] providing, via the user interface, an interactable element wherein triggering the interactable element launches the code block selector. (The insignificant extra-solution activity is well-understood, routine, conventional as it is merely presenting output. See MPEP 2106.05(d)(II), “Presenting offers”.) Claim 9 Step 2A Prong 1. The claim recites the following abstract ideas: The abstract idea(s) in the parent claim(s). Step 2A Prong 2. The claim recites the following additional elements which, considered individually and as an ordered combination, do not integrate the abstract idea into a practical application: The additional element(s) in the parent claim(s). [The method of claim 1, wherein] the isolated testing environment is a sandbox environment. (This recites a general link between an abstract idea and a particular field of use or technological environment. See MPEP 2106.05(h).) Step 2B. The claim recites the following additional elements which, considered individually and as an ordered combination, do not amount to significantly more than the abstract idea: The additional element(s) in the parent claim(s). [The method of claim 1, wherein] the isolated testing environment is a sandbox environment. (This recites a general link between an abstract idea and a particular field of use or technological environment. See MPEP 2106.05(h).) Claim 10 Step 2A Prong 1. The claim recites the following abstract ideas: The abstract idea(s) in the parent claim(s). [The method of claim 1, wherein selecting of the AI model of the plurality of AI models further comprises:] selecting an AI model from a tiered list of AI models, wherein each tier of the tiered list of AI models represents a subset of AI models having substantially the same degree of domain specific training data. (This recites a mental process that can be performed in the human mind or by a human using pen and paper. See MPEP 2106.04(a)(2)(III).) Step 2A Prong 2. The claim recites the following additional elements which, considered individually and as an ordered combination, do not integrate the abstract idea into a practical application: The additional element(s) in the parent claim(s). Step 2B. The claim recites the following additional elements which, considered individually and as an ordered combination, do not amount to significantly more than the abstract idea: The additional element(s) in the parent claim(s). Claim 11 Step 1. The claim and its dependents 12-20 fall under the statutory category of machines. An analysis of step 2 for each of these claims follows. Step 2A Prong 1. The claim recites the following abstract ideas: select an AI model of the plurality of AI models based on at least the configuration criteria; (This recites a mental process that can be performed in the human mind, since a human mind can select an AI model out of plurality of models. See MPEP 2106.04(a)(2)(III).) identifying, [using the AI model,] a selected code block of the subset of code blocks that achieves the quality parameter for the task, (This recites a mental process that can be performed in the human mind, since a human mind can identify a code block from a subset of code blocks. See MPEP 2106.04(a)(2)(III).) analyzing the execution of each code block with the AI model, (This recites a mental process that can be performed in the human mind, since a human mind can identify a code block from a subset of code blocks. See MPEP 2106.04(a)(2)(III).) and selecting, [using the AI model,] one of the subset of code blocks based on the analyzing the execution; and provide, via the user interface, the selected code block. (This recites a mental process that can be performed in the human mind, since the human mind can select a code block. See MPEP 2106.04(a)(2)(III).) Step 2A Prong 2. The claim recites the following additional elements which, considered individually and as an ordered combination, do not integrate the abstract idea into a practical application: A system, comprising: a code block repository storing a plurality of code blocks (This recites data of a particular type or source, merely linking an abstract idea to a particular field of use. See MPEP 2106.05(h).) [a plurality of code blocks] each designed to execute on a controller to perform tasks in an industrial automation environment using industrial automation devices; (This recites generic computing components for performing an abstract idea. See MPEP 2106.05(f)(2).) an AI model library storing [a plurality of AI models] (This recites data of a particular type or source, merely linking an abstract idea to a particular field of use. See MPEP 2106.05(h).) a plurality of AI models each trained to analyze execution of one or more code blocks in an isolated testing environment; (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) a code block selector, comprising: one or more processors, and one or more memories having instructions stored thereon that, upon execution by the one or more processors, cause the one or more processors to: (This recites generic computing components for performing an abstract idea. See MPEP 2106.05(f)(2).) receive a configuration criteria via a user interface from a client device, (This recites insignificant extra-solution activity. See MPEP 2106.05(g).) wherein the configuration criteria comprises a quality parameter and a task; (This recites data of a particular type or source, merely linking an abstract idea to a particular field of use. See MPEP 2106.05(h).) obtain a subset of code blocks from the plurality of code blocks, (This recites insignificant extra-solution activity. See MPEP 2106.05(g).) wherein each code block of the subset of code blocks performs the task when executed; (This recites data of a particular type or source, merely linking an abstract idea to a particular field of use. See MPEP 2106.05(h).) [identifying,] using the AI model, [a selected code block] (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) wherein the identifying comprises: executing each code block of the subset of code blocks (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) in the isolated testing environment, (This recites a general link between an abstract idea and a particular field of use or technological environment. See MPEP 2106.05(h).) [selecting,] using the AI model, [one of the subset of code blocks] (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) Step 2B. The claim recites the following additional elements which, considered individually and as an ordered combination, do not amount to significantly more than the abstract idea: A system, comprising: a code block repository storing a plurality of code blocks (This recites data of a particular type or source, merely linking an abstract idea to a particular field of use. See MPEP 2106.05(h).) [a plurality of code blocks] each designed to execute on a controller to perform tasks in an industrial automation environment using industrial automation devices; (This recites generic computing components for performing an abstract idea. See MPEP 2106.05(f)(2).) an AI model library storing [a plurality of AI models] (This recites data of a particular type or source, merely linking an abstract idea to a particular field of use. See MPEP 2106.05(h).) a plurality of AI models each trained to analyze execution of one or more code blocks in an isolated testing environment; (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) a code block selector, comprising: one or more processors, and one or more memories having instructions stored thereon that, upon execution by the one or more processors, cause the one or more processors to: (This recites generic computing components for performing an abstract idea. See MPEP 2106.05(f)(2).) receive a configuration criteria via a user interface from a client device, (This insignificant extra-solution activity is well-understood, routine, conventional as it is mere data transfer. See MPEP 2106.05(d)(II), “Receiving or transmitting data over a network” and/or “Storing and retrieving information in memory”.) wherein the configuration criteria comprises a quality parameter and a task; (This recites data of a particular type or source, merely linking an abstract idea to a particular field of use. See MPEP 2106.05(h).) obtain a subset of code blocks from the plurality of code blocks, (This insignificant extra-solution activity is well-understood, routine, conventional as it is mere data transfer. See MPEP 2106.05(d)(II), “Receiving or transmitting data over a network” and/or “Storing and retrieving information in memory”.) wherein each code block of the subset of code blocks performs the task when executed; (This recites data of a particular type or source, merely linking an abstract idea to a particular field of use. See MPEP 2106.05(h).) [identifying,] using the AI model, [a selected code block] (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) wherein the identifying comprises: executing each code block of the subset of code blocks (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) in the isolated testing environment, (This recites a general link between an abstract idea and a particular field of use or technological environment. See MPEP 2106.05(h).) [selecting,] using the AI model, [one of the subset of code blocks] (This recites merely applying (or equivalent) an abstract idea, or implementing an abstract idea on a computer, or using a computer as a tool to perform an abstract idea. See MPEP 2106.05(f).) Claim 12-14 inherit rejections from claim 11 and recite additional limitations which are substantially similar to those recited by claims 2-4, respectively, so they are rejected by the same rationale. Claim 15 Step 2A Prong 1. The claim recites the following abstract ideas: The abstract idea(s) in the parent claim(s). wherein, in response to receiving a code block from the code block repository, the code block sanitizer outputs a sanitized code block. (This recites a mental process that can be performed in the human mind, since the human mind can perform actions in response to receiving something. See MPEP 2106.04(a)(2)(III).) sanitizing, by a code block sanitizer, the code block. (This recites a mental process that can be performed in the human mind, since the human mind can sanitize code. See MPEP 2106.04(a)(2)(III).) Step 2A Prong 2. The claim recites the following additional elements which, considered individually and as an ordered combination, do not integrate the abstract idea into a practical application: The additional element(s) in the parent claim(s). [The system of claim 11, further comprising:] a code block sanitizer, (This recites generic computing components for performing an abstract idea. See MPEP 2106.05(f)(2).) comprising a node on a communication line connecting the code block repository and the code block selector, (This recites a general link between an abstract idea and a particular field of use or technological environment. See MPEP 2106.05(h).) Step 2B. The claim recites the following additional elements which, considered individually and as an ordered combination, do not amount to significantly more than the abstract idea: The additional element(s) in the parent claim(s). [The system of claim 11, further comprising:] a code block sanitizer, (This recites generic computing components for performing an abstract idea. See MPEP 2106.05(f)(2).) comprising a node on a communication line connecting the code block repository and the code block selector, (This recites a general link between an abstract idea and a particular field of use or technological environment. See MPEP 2106.05(h).) Claim 16-20 inherit rejections from claim 11 and recite additional limitations which are substantially similar to those recited by claims 6-10, respectively, so they are rejected by the same rationale. Claim Rejections - 35 USC 103 The following is a quotation of 35 USC 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. This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 USC 102(b)(2)(C) for any potential 35 USC 102(a)(2) prior art against the later invention. Claim(s) 1, 5-6, 9-11, 15-16, and 19-20 is/are rejected under 35 USC 103 as being unpatentable over Fan HU et al. (Revisiting Code Search in a Two-Stage Paradigm, published 2023-02-27; hereafter, “Hu”) in view of Mark CHEN et al. (Evaluating Large Language Models Trained on Code, published 2021-07-14; hereafter, “Chen”). Claim 1 Hu discloses: A method, comprising: receiving, at a code block selector, configuration criteria via a user interface of a client device, wherein the configuration criteria comprises a quality parameter and a task; ([Hu, abstract and sections 3 and 4.4]: Hu discloses “TOSS, a two stage fusion code search paradigm” which “first uses IR-based and bi-encoder models to efficiently recall a small number of top-K code candidates, and then uses fine-grained cross-encoders for finer ranking” [Hu, abstract]. The inputs of this method include a codebase C, a query q, and two similarity functions M_{recall} and M_{rank} (both of which serve to assess the similarity between the query q and a code snippet c in the codebase C) [Hu, section 3]. Hu also discloses conducting experiments “on a machine with Intel Xeon E5-2698v4 2.2Ghz 20-Core CPU and one Tesla V100 32GB GPU” [Hu, section 4.4]. The query q maps to the “task” of the claim, and the similarity functions M_{recall} and M_{rank} map to the “quality parameter” of the claim. In other words, the three inputs q, M_{recall}, and M_{rank} map to the “configuration criteria” of the claim. The machine on which experiments are conducted maps to the “client device” of the claim, and the user interface of this machine maps to the “user interface” of the claim.) obtaining a subset of code blocks from a code block repository storing a plurality of code blocks, wherein each code block of the subset of code blocks performs the task when executed; ([Hu, section 3.2 and figure 2]: The first stage of the method “recalls a candidate set of code snippets” denoted C_{sub} [Hu, section 3.2 first paragraph and equation (4)]. The codebase C (or, alternatively, the “Online & local codes” that are used to build the codebase [Hu, figure 2]) maps to the “code block repository storing a plurality of code blocks” of the claim. The subset C_{sub} chosen by the first stage maps to the “subset of code blocks” of the claim.) selecting an artificial intelligence (AI) model of a plurality of AI models based at least on the configuration criteria, wherein the AI model is trained to analyze an execution of one or more code blocks; identifying, using the AI model, a selected code block of the subset of code blocks that achieves the quality parameter for the task, ([Hu, abstract, and sections 3.2, 4.2, and 5.3]: In the second stage of the method chooses a code snippet c_* from C_{sub} according to M_{rank} [Hu, section 3.2 equation (5)]. As noted above, this stage uses “fine-grained cross-encoders” [Hu, abstract] (cf. “the second-stage models are chosen from cross-encoder models”) [Hu, section 5.3 first paragraph]. Hu considers at least two different cross-encoders: CodeBERT and CoCLR [Hu, section 4.2 first paragraph], and discloses that combinations using CodeBERT for stage 2 have the best performance [Hu, section 5.3 first paragraph and table 3]. In other words, the plurality of cross-encoders considered in Hu map to the “plurality of AI models” of the claim, and CodeBERT maps to the selected “artificial intelligence (AI) model” of the claim. Executing CodeBERT on a code snippet falls under the broadest reasonable interpretation of “analyzing an execution of one or more code snippets” as recited by the claim. The snippet c_* selected from C_{sub} at the second stage maps to the “selected code block” of the claim, and the fact that it maximizes M_{rank} means that it falls under the broadest reasonable interpretation of “achieving the quality parameter for the task” as recited by the claim, with the “quality parameter” and the “task” being as mapped above.) wherein identifying the selected code block comprises: … analyzing the execution of each code block with the AI model, and selecting, with the AI model, one of the subset of code block based on the analyzing the execution; and providing, via the user interface, the selected code block. ([Hu, section 3.2 and figure 2]: Running CodeBERT on the candidates in C_{sub} [Hu, figure 2] falls under the broadest reasonable interpretation of “analyzing the execution of each code block with the AI model” as recited by the claim. Selecting c_* from C_{sub} [Hu, section 3.2 equation (5)] maps to the “selecting” step of the claim, since, as explained above, it is “based on the analyzing the execution” as recited by the claim. The method outputting c_* maps to the “providing” step of the claim.) Hu might not distinctly disclose: executing each code block of the subset of code blocks in an isolated testing environment, Chen is in the field of machine learning. Moreover, Hu in view of Chen discloses: executing each code block of the subset of code blocks in an isolated testing environment, ([Chen, section 2]: Chen discusses evaluating code with respect to a metric, called pass@k, that entails running code on test cases [Chen, section 2.1]. These tests are executed in a “sandbox environment” [Chen, section 2.3]. The sandbox environment maps to the “isolated testing environment” of the claim. In the combination, the evaluation-based metrics of Chen are incorporated into the second stage of the two-stage code search disclosed in Hu, so that “each code block of the subset of code blocks” is executed in the “isolated testing environment” as required by the claim.) Before the effective filing date of the invention, it would have been obvious to a person of ordinary skill in the art to incorporate evaluation-based metrics calculated in a sandbox environment as described in Chen into the code search method described in Hu because “recent work has surfaced deficiencies in match-based metrics for code” and “match-based metrics are unable to account for the large and complex space of programs functionally equivalent to a reference solution” resulting in a “turn[…] to turned to functional correctness instead”, which has the added advantage that “it is used by human developers to judge code” [Chen, section 2.1 first three paragraphs] and performing these tests in a sandbox environment would “prevent these programs from modifying, gaining persistence on, accessing sensitive resources on, or exfiltrating data from a host or network” [Chen, section 2.3], thereby resulting in a more effective and safe system overall. Claim 5 Hu in view of Chen discloses the elements of the parent claim(s). It also discloses: [The method of claim 1, further comprising:] in response to receiving a code block from the code block repository, sanitizing, by a code block sanitizer, the code block. ([Hu, figure 2 and section 5.1]: As noted under the parent claim, the “Online & local codes” [Hu, figure 2] can be mapped to the “code block repository” of the claim. Hu discloses performing “[p]re-processing” on this set of codes to obtain the codebase [Hu, figure 2], detailing that the pre-processing includes steps such as splitting pascal and snake case, deleting stop words, part of speech restoration, etc [Hu, section 5.1]. In other words, any code block in the “Online & local codes” of Hu maps to the “code block” that is received from the code block repository of the claim, and performing the type of pre-processing that is described in Hu falls under the broadest reasonable interpretation of “sanitizing” the code block as recited by the claim. The software component performing the pre-processing maps to the “code block sanitizer” of the claim. The applicant is invited to also consult the rejection of related claim 15 as given below.) The same motivation to combine applies. Claim 6 Hu in view of Chen discloses the elements of the parent claim(s). It also discloses: [The method of claim 1, wherein] the user interface of the client device comprises an industrial control software development environment. ([Hu, section 4.4]: As noted under the parent claim, Hu also discloses conducting experiments “on a machine with Intel Xeon E5-2698v4 2.2Ghz 20-Core CPU and one Tesla V100 32GB GPU” [Hu, section 4.4]. Such a machine falls under the broadest reasonable interpretation of a “industrial control software development environment” as recited by the claim. The applicant is also invited to consult Canedo as cited in the conclusion of this Office action.) The same motivation to combine applies. Claim 9 Hu in view of Chen discloses the elements of the parent claim(s). It also discloses: [The method of claim 1, wherein] the isolated testing environment is a sandbox environment. ([Chen, section 2.3]: As noted under the parent claim, the “sandbox environment” of Chen [Chen, section 2.3] is mapped to the “isolated testing environment” of the claims.) The same motivation to combine applies. Claim 10 Hu in view of Chen discloses the elements of the parent claim(s). It also discloses: [The method of claim 1, wherein selecting of the AI model of the plurality of AI models further comprises:] selecting an AI model from a tiered list of AI models, wherein each tier of the tiered list of AI models represents a subset of AI models having substantially the same degree of domain specific training data. ([Hu, abstract, and sections 4.2 and 5.3]: As noted under the parent claim, the cross-encoders considered in Hu (namely, CodeBERT and CoCLR) map to the “plurality of AI models” of the parent claim, with CodeBERT mapping to the selected “AI model” of the claim since combinations using CodeBERT for stage 2 have the best performance [Hu, abstract, and sections 4.2 and 5.3]. The plurality of cross-encoders considered in Hu can be regarded as a “tiered list of AI models” with, for example, each tier consisting of one model: a single model constitutes a “subset of AI models” having one element, and any model “ha[s] substantially the same degree of domain specific training data” as itself.) The same motivation to combine applies. Claim 11 Hu discloses: A system, comprising: a code block repository storing a plurality of code blocks ([Hu, figure 2]: The codebase C (or, alternatively, the “Online & local codes” that are used to build the codebase [Hu, figure 2] maps to the “code block repository” of the claim.) each designed to execute on a controller to perform tasks in an industrial automation environment using industrial automation devices; ([Hu, section 4.4]: Hu also discloses conducting experiments “on a machine with Intel Xeon E5-2698v4 2.2Ghz 20-Core CPU and one Tesla V100 32GB GPU” [Hu, section 4.4]. The machine maps to the “controller” and the “industrial automation environment” of the claim. Its processors map to the “industrial automation devices” of the claim.) an AI model library storing a plurality of AI models each trained to analyze execution of one or more code blocks ([Hu, abstract, and sections 3.2, 4.2, and 5.3]: In the second stage of the method chooses a code snippet c_* from C_{sub} according to M_{rank} [Hu, section 3.2 equation (5)]. As noted above, this stage uses “fine-grained cross-encoders” [Hu, abstract] (cf. “the second-stage models are chosen from cross-encoder models”) [Hu, section 5.3 first paragraph]. Hu considers at least two different cross-encoders: CodeBERT and CoCLR [Hu, section 4.2 first paragraph], which map to the “plurality of AI models” of the claim, and CodeBERT maps to the selected “artificial intelligence (AI) model” of the claim. Executing these models on code snippets falls under the broadest reasonable interpretation of “analyz[ing] execution of one or more code snippets” as recited by the claim.) a code block selector, comprising: one or more processors, and one or more memories having instructions stored thereon that, upon execution by the one or more processors, cause the one or more processors to: ([Hu, section 4.4]: As noted above, Hu discloses conducting experiments “on a machine with Intel Xeon E5-2698v4 2.2Ghz 20-Core CPU and one Tesla V100 32GB GPU” [Hu, section 4.4]. The processors and memories of this machine map to the “one or more processors and “one or more memories” of the claim.) receive a configuration criteria via a user interface from a client device, wherein the configuration criteria comprises a quality parameter and a task; ([Hu, abstract and sections 3 and 4.4]: Hu discloses “TOSS, a two stage fusion code search paradigm” which “first uses IR-based and bi-encoder models to efficiently recall a small number of top-K code candidates, and then uses fine-grained cross-encoders for finer ranking” [Hu, abstract]. The inputs of this method include a codebase C, a query q, and two similarity functions M_{recall} and M_{rank} (both of which serve to assess the similarity between the query q and a code snippet c in the codebase C) [Hu, section 3]. Hu also discloses conducting experiments “on a machine with Intel Xeon E5-2698v4 2.2Ghz 20-Core CPU and one Tesla V100 32GB GPU” [Hu, section 4.4]. The query q maps to the “task” of the claim, and the similarity functions M_{recall} and M_{rank} map to the “quality parameter” of the claim. In other words, the three inputs q, M_{recall}, and M_{rank} map to the “configuration criteria” of the claim. The machine on which experiments are conducted maps to the “client device” of the claim, and the user interface of this machine maps to the “user interface” of the claim.) obtain a subset of code blocks from the plurality of code blocks, wherein each code block of the subset of code blocks performs the task when executed; ([Hu, section 3.2 and figure 2]: The first stage of the method “recalls a candidate set of code snippets” denoted C_{sub} [Hu, section 3.2 first paragraph and equation (4)]. The codebase C (or, alternatively, the “Online & local codes” that are used to build the codebase [Hu, figure 2]) maps to the “code block repository storing a plurality of code blocks” of the claim. The subset C_{sub} chosen by the first stage maps to the “subset of code blocks” of the claim.) select an AI model of the plurality of AI models based on at least the configuration criteria; identifying, using the AI model, a selected code block of the subset of code blocks that achieves the quality parameter for the task, ([Hu, abstract, and sections 3.2, 4.2, and 5.3]: In the second stage of the method chooses a code snippet c_* from C_{sub} according to M_{rank} [Hu, section 3.2 equation (5)]. As noted above, this stage uses “fine-grained cross-encoders” [Hu, abstract] (cf. “the second-stage models are chosen from cross-encoder models”) [Hu, section 5.3 first paragraph]. Hu considers at least two different cross-encoders: CodeBERT and CoCLR [Hu, section 4.2 first paragraph], and discloses that combinations using CodeBERT for stage 2 have the best performance [Hu, section 5.3 first paragraph and table 3]. In other words, the plurality of cross-encoders considered in Hu map to the “plurality of AI models” of the claim, and CodeBERT maps to the selected “artificial intelligence (AI) model” of the claim. Executing CodeBERT on a code snippet falls under the broadest reasonable interpretation of “analyzing an execution of one or more code snippets” as recited by the claim. The snippet c_* selected from C_{sub} at the second stage maps to the “selected code block” of the claim, and the fact that it maximizes M_{rank} means that it falls under the broadest reasonable interpretation of “achieving the quality parameter for the task” as recited by the claim, with the “quality parameter” and the “task” being as mapped above.) wherein the identifying comprises: … analyzing the execution of each code block with the AI model, and selecting, using the AI model, one of the subset of code blocks based on the analyzing the execution; and provide, via the user interface, the selected code block. ([Hu, section 3.2 and figure 2]: Running CodeBERT on the candidates in C_{sub} [Hu, figure 2] falls under the broadest reasonable interpretation of “analyzing the execution of each code block with the AI model” as recited by the claim. Selecting c_* from C_{sub} [Hu, section 3.2 equation (5)] maps to the “selecting” step of the claim, since, as explained above, it is “based on the analyzing the execution” as recited by the claim. The method outputting c_* maps to the “providing” step of the claim.) Hu might not distinctly disclose: [analyze execution of one or more code blocks] in an isolated testing environment; … executing each code block of the subset of code blocks in the isolated testing environment, Chen is in the field of machine learning. Moreover, Hu in view of Chen discloses: [analyze execution of one or more code blocks] in an isolated testing environment; … executing each code block of the subset of code blocks in the isolated testing environment, ([Chen, section 2]: Chen discusses evaluating code with respect to a metric, called pass@k, that entails running code on test cases [Chen, section 2.1]. These tests are executed in a “sandbox environment” [Chen, section 2.3]. The sandbox environment maps to the “isolated testing environment” of the claim. In the combination, the evaluation-based metrics of Chen are incorporated into the second stage of the two-stage code search disclosed in Hu, so that “each code block of the subset of code blocks” is executed in the “isolated testing environment” as required by the claim.) Before the effective filing date of the invention, it would have been obvious to a person of ordinary skill in the art to incorporate evaluation-based metrics calculated in a sandbox environment as described in Chen into the code search method described in Hu because “recent work has surfaced deficiencies in match-based metrics for code” and “match-based metrics are unable to account for the large and complex space of programs functionally equivalent to a reference solution” resulting in a “turn[…] to turned to functional correctness instead”, which has the added advantage that “it is used by human developers to judge code” [Chen, section 2.1 first three paragraphs] and performing these tests in a sandbox environment would “prevent these programs from modifying, gaining persistence on, accessing sensitive resources on, or exfiltrating data from a host or network” [Chen, section 2.3], thereby resulting in a more effective and safe system overall. Claim 15 Hu in view of Chen discloses the elements of the parent claim(s). It also discloses: [The system of claim 11, further comprising:] a code block sanitizer, comprising a node on a communication line connecting the code block repository and the code block selector, wherein, in response to receiving a code block from the code block repository, the code block sanitizer outputs a sanitized code block. ([Hu, figure 2 and section 5.1]: This claim recites limitations which are substantially similar to those recited by claim 5, and the mapping is essentially the same. The only additional point to be noted here is that the pre-processing occurs prior to searching the codebase, so the software component performing the pre-processing in Hu is in fact a “node on a communication line connecting the code block repository and the code block selector” as recited by this claim.) The same motivation to combine applies. Claims 16 and 19-20 inherit limitations from claim 11 and recite additional limitations which are substantially similar to those recited by claims 5-6 and 9-10, respectively, so they are rejected by the same rationale. Claim(s) 2-4, 7-8, 12-14, and 17-18 is/are rejected under 35 USC 103 as being unpatentable over Hu in view of Chen, further in view of Otávio Augusto Lazzarini LEMOS et al. (A test-driven approach to code search and its application to the reuse of auxiliary functionality, published 2010; hereafter, “Lemos”). Claim 2 Hu in view of Chen discloses the elements of the parent claim(s). It might not explicitly disclose: [The method of claim 1, further comprising:] in response to identifying the selected code block, sending the selected code block to a configuration code building block library. Lemos is in the field of code search. It discloses a code search system called CodeGenie that integrates into a development environment [Lemos, abstract]. Moreover, Hu in view of Chen and Lemos discloses: [The method of claim 1, further comprising:] in response to identifying the selected code block, sending the selected code block to a configuration code building block library. ([Lemos, sections 3.1 and 4]: CodeGenie allows users to integrate (i.e., merge/copy) a code search result into their project [Lemos, section 3.1 paragraph beginning “To integrate/detach”] “by right-clicking on [the result] and selecting the desired option” [Lemos, section 4 paragraph beginning “The CodeGenie Search View”]. The project maps to the “configuration code building block library” of the claim, and integratin code into the project maps to the step of “sending the selecting code block to [the] configuration code building block library” as recited by the claim.) Before the effective filing date of the invention, it would have been obvious to a person of ordinary skill in the art to combine the code search methodology of Hu in view of Chen with the code search interface disclosed in Lemos because “[Test Driven Code Search] should be tightly integrated with the development environment” so that “developers design test cases, trigger the searching facility, and explore code results without resorting to any other tools” [Lemos, section 1 paragraph beginning “Since TCDS”], thereby resulting in a more useable system. Claim 3 Hu in view of Chen and Lemos discloses the elements of the parent claim(s). [The method of claim 2, wherein sending the selected code block to the configuration code building block library further comprises:] providing a prompt to user, via the user interface, the prompt comprising a request for a confirmation to store the selected code block in the configuration code building block library, ([Lemos, sections 3.1 and 4]: As noted under the parent claim, CodeGenie allows users to integrate search results into their project “by right-clicking on them and selecting the desired option” [Lemos, section 4 paragraph beginning “The CodeGenie Search View”]. The option to integrate maps to the “prompt comprising a request for a confirmation to store the selected code block in the configuration code building block library” of the claim.) and in response to receiving the confirmation, adding the selected code block to the configuration code building block library. ([Lemos, sections 3.1 and 4]: The examiner notes that this is a conditional limitation since the claim does not positively recite a step of “receiving the confirmation”. As such, the broadest reasonable interpretation of the claim does not include any steps that are contingent on this condition. Nonetheless, clicking on the option to integrate corresponds to “receiving the confirmation” of the claim, and the integration of this code into the project maps to the “adding” step of the claim.) The same motivation to combine applies. Claim 4 Hu in view of Chen discloses the elements of the parent claim(s). It might not distinctly disclose: [The method of claim 1, wherein] the quality parameter of the configuration criteria comprises one of a most energy efficient execution of the task of the configuration criteria, a fastest execution of the task of the configuration criteria, a most secure execution of the task of the configuration criteria, or a combination thereof. Lemos is in the field of code search. It discloses a code search system called CodeGenie that integrates into a development environment [Lemos, abstract]. Moreover, Hu in view of Chen and Lemos discloses: [The method of claim 1, wherein] the quality parameter of the configuration criteria comprises one of a most energy efficient execution of the task of the configuration criteria, a fastest execution of the task of the configuration criteria, a most secure execution of the task of the configuration criteria, or a combination thereof. ([Lemos, section 4.1]: CodeGenie provides an “ordering for successful results according to test execution time” [Lemos, section 4.1 paragraph beginning “The CodeGenie Search View”]. In the combination, test execution time as in Lemos can be incorporated into the “quality parameter” of the claim as mapped above, and ordering results based on test execution time means that the quality parameter as mapped under the parent claim comprises at least a “fastest execution of the task of the configuration criteria” as recited by the claim.) Before the effective filing date of the invention, it would have been obvious to a person of ordinary skill in the art to combine the code search methodology of Hu in view of Chen with the code search interface disclosed in Lemos because “[Test Driven Code Search] should be tightly integrated with the development environment” so that “developers design test cases, trigger the searching facility, and explore code results without resorting to any other tools” [Lemos, section 1 paragraph beginning “Since TCDS”], thereby resulting in a more useable system. Claim 7 Hu in view of Chen discloses the elements of the parent claim(s). It might not explicitly disclose: [The method of claim 1, further comprising:] generating, via the user interface, a prompt to launch the code block selector. Lemos is in the field of code search. It discloses a code search system called CodeGenie that integrates into a development environment [Lemos, abstract]. Moreover, Hu in view of Chen and Lemos discloses: [The method of claim 1, further comprising:] generating, via the user interface, a prompt to launch the code block selector. ([Lemos, section 4.1 and figure 4(a)]: Lemos discloses that a “user can trigger the CodeGenie search facility by right-clicking on the test case class and selecting the CodeGenie Search menu option” [Lemos, section 4.1 paragraph beginning “After designing”]. The search menu option maps to the “prompt to launch the code block selector” of the claim. The applicant is also invited to consult the “Find it!” button in Reiss as cited in the conclusion of this Office action.) Before the effective filing date of the invention, it would have been obvious to a person of ordinary skill in the art to combine the code search methodology of Hu in view of Chen with the code search interface disclosed in Lemos because “[Test Driven Code Search] should be tightly integrated with the development environment” so that “developers design test cases, trigger the searching facility, and explore code results without resorting to any other tools” [Lemos, section 1 paragraph beginning “Since TCDS”], thereby resulting in a more useable system. Claim 8 Hu in view of Chen discloses the elements of the parent claim(s). It might not explicitly disclose: [The method of claim 1, further comprising:] providing, via the user interface, an interactable element wherein triggering the interactable element launches the code block selector. Lemos is in the field of code search. It discloses a code search system called CodeGenie that integrates into a development environment [Lemos, abstract]. Moreover, Hu in view of Chen and Lemos discloses: [The method of claim 1, further comprising:] providing, via the user interface, an interactable element wherein triggering the interactable element launches the code block selector. ([Lemos, section 4.1 and figure 4(a)]: Lemos discloses that a “user can trigger the CodeGenie search facility by right-clicking on the test case class and selecting the CodeGenie Search menu option” [Lemos, section 4.1 paragraph beginning “After designing”]. This search menu option maps to the “interactable element” of the claim. The applicant is also invited to consult the “Find it!” button in Reiss as cited in the conclusion of this Office action.) Before the effective filing date of the invention, it would have been obvious to a person of ordinary skill in the art to combine the code search methodology of Hu in view of Chen with the code search interface disclosed in Lemos because “[Test Driven Code Search] should be tightly integrated with the development environment” so that “developers design test cases, trigger the searching facility, and explore code results without resorting to any other tools” [Lemos, section 1 paragraph beginning “Since TCDS”], thereby resulting in a more useable system. Claims 12-14 and 17-18 inherit limitations from claim 11 and recite additional limitations which are substantially similar to those recited by claims 2-4 and 7-8, respectively, so they are rejected by the same rationale. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Arquimedes CANEDO et al. (US20220276628A1, published 2022-09-01; hereafter, “Canedo”) discloses a code search system whose code base is an “industrial data set 110” including “industrial automation code samples” [Canedo, figure 1 and 0021]. Steven REISS (Semantics-Based Code Search, published 2009; hereafter, “Reiss”) discloses a code search system having a “Find it!” button for executing the search [Reiss, figure 2]. Any inquiry concerning this communication or earlier communications from the examiner should be directed to Shishir AGRAWAL whose telephone number is +1 703-756-1183. The examiner can normally be reached Monday through Thursday, 08:30-14:30 Pacific Time. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Alexey SHMATOV can be reached on +1 571-270-3428. The fax phone number for the organization where this application or proceeding is assigned is +1 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 information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at +1 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call +1 800-786-9199 (IN USA OR CANADA) or +1 571-272-1000. /S.A./Examiner, Art Unit 2123 /ALEXEY SHMATOV/Supervisory Patent Examiner, Art Unit 2123
Read full office action

Prosecution Timeline

Mar 29, 2024
Application Filed
Aug 13, 2026
Non-Final Rejection mailed — §101, §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12725051
RANKING DATA SLICES USING MEASURES OF INTEREST
4y 7m to grant Granted Sep 01, 2026
Study what changed to get past this examiner. Based on 1 most recent grants.

Strategy Recommendation AI-generated — please review before filing

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

Prosecution Projections

1-2
Expected OA Rounds
8%
Grant Probability
24%
With Interview (+15.4%)
4y 0m (~1y 6m remaining)
Median Time to Grant
Low
PTA Risk
Based on 24 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

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

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

Free tier: 3 strategy analyses per month