DETAILED ACTION
Claims 1, 3-12, 14-20 are pending. Claims 1, 12 and 20 have been amended. Claims 2 and 13 have been cancelled.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This final office action is in response to the applicant’s response received on 06/29/2026, for the non-final office action mailed on 03/31/2026.
Examiner’s Notes
Examiner has cited particular columns and line numbers, paragraph numbers, or figures in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested from the applicant, in preparing the responses, to fully consider the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner.
Response to Arguments
Applicant's arguments filed 06/29/2026 with regards to rejection made under 35 U.S.C. § 101 have been fully considered but they are not persuasive.
Applicant argues “automatically determining a similarity degree between the stored code snippet and the obtained source-control diff, wherein the similarity degree accounts for differences in entity names, instruction ordering, or code structure,” see applicant’s remarks pp. 9. Examiner respectfully disagrees as a develop can read the code snippet and the obtained source-control diff and mentally determine similarities between the two regarding entity names, instruction ordering or code structure.
Further applicant argues “determining an aggregate usage degree, which is a quantitative, file or project-level measure of the extent to which the programmer’s code difference is attributable to the LLM,” see applicant’s remarks pp. 9-10. Examiner respectfully disagrees as a developer can calculate based on the programmer’s code block and the code block determined to be written by an LLM a percentage to what the LLM attributes to the source code.
Applicant also argues “blocking a commit operation to the source control system,” see applicant’s remarks pp. 10. Examiner respectfully disagrees as the limitation of “blocking a commit operation to the source control system” is optional and a report can be generated which a developer can report on based on the percentage of code that is generated by the LLM opposed to the code written by a developer.
Applicant also argues “the similarity determination step applies a specific technical methodology integral to the claimed system,” see applicant’s remarks pp. 11-12. Examiner respectfully disagrees as the comparison of code is observing whether there is a difference in entity names, instruction ordering or code structure which can be observed by a developer looking as two source code files and looking for any difference between them.
Applicant argues “obtaining the difference introduced to programmer’s code since the programmer’s code was checked out of a source control system is an integral technical constraint,” see applicant’s remarks pp. 12. Examiner respectfully disagrees as obtaining the difference recites insignificant extra-solution activity of data gathering, which is being done after the developer checks out the code, see MPEP 2106.05(g).
Applicant argues “the claims as a whole recite an ordered, integrated technical workflow,” see applicant’s remarks pp. 12-13. Examiner respectfully disagrees as the claims recite an abstract idea without reciting significantly more than a judicial exception and the additional elements do not amount to more than just linking the use of the judicial exception to a particular technological environment.
Applicant's arguments filed 06/29/2026 regarding rejection made under 35 U.S.C. § 103 have been fully considered but they are not persuasive.
Applicant argues the prior art doesn’t teach “obtaining at least one difference introduced to a programmer’s code since the programmer’s code was checked out of a source control system,” see applicant’s remarks pp. 15-16. Examiner respectfully disagrees as Graves teaches in [column 65, lines 13-23 and lines 39-40], “In some embodiments, the systems described herein may be part of an application performance monitoring (‘APM’) solution. APM software and tools enable the observation of application behavior, observation of its infrastructure dependencies, observation of users and business key performance indicators (‘KPIs’) throughout the application's life cycle, and more. The applications being observed may be developed internally, as packaged applications, as software as a service (‘SaaS’), or embodied in some other ways. In such embodiments, the systems described herein may provide one or more of the following capabilities:” and “Analysis of business KPIs and user journeys (for example, login to check-out)” and further teaches in [column 62, lines 29-34], “For example, if a policy is created where all personally identifiable information (‘PII’) or personal health information (‘PHI’) must be encrypted when it is stored, that policy is translated into a process that is automatically launched whenever a developer submits code, and code that violates the policy may be automatically rejected” showing developers submitting code during the lifecycle of an application.
Applicant argues prior art cited do not teach “determining a degree of usage of the LLM for code containing the at least one difference, based on the similarity degree for the at least one difference,” see applicant’s remarks pp. 16. Examiner relied on new art which makes this argument moot in view of new ground(s) rejection.
Applicant argues prior art cited do not teach “determining a degree of usage of the LLM for code containing the at least one difference, based on the similarity degree for the at least one difference,” see applicant’s remarks pp. 16. Examiner relied on new art which makes this argument moot in view of new ground(s) rejection.
Applicant further argues prior art does not teach “determining a similarity degree between the code snippet and the at least one difference, wherein the similarity degree accounts for differences in entity names, instruction ordering, or code structure between the code snippet and the at least one difference,” see applicant’s remarks pp. 17. Examiner respectfully disagrees as Graves teaches in [column 61, lines 47-60], “In fact, configuration files for multiple cloud deployments may even be used by the systems described herein to identify best practices, to identify configuration files that deviate from typical configuration files, to identify configuration files with similarities to deployments that have been determined to be deficient in some way, or the configuration files may be leveraged in some other ways to detect vulnerabilities, misconfigurations, violations of regulatory requirements, or other issues prior to deploying an infrastructure that is described in the configuration files. In some embodiments the techniques described herein may be used in multi-cloud, multi-tenant, cross-cloud, cross-tenant, cross-user, industry cloud, digital platform, and other scenarios depending on specific need or situation”.
Applicant argues prior art doesn’t teach “subject to the usage degree exceeding a predetermined threshold, taking an action being at least one of: blocking a commit operation to the source control system until approved by a person in charge, or generating a report indicating usage of code generated by the at least one LLM in the programmer’s code,” see applicant’s remarks pp. 17. Examiner relied on new art which makes this argument moot in view of new ground(s) rejection.
Applicant argues “the combination of Graves and Zanbar is improper,” see applicant’s remarks pp. 18. Examiner relied on new art and no longer relies on Zanbar which makes this argument moot in view of new ground(s) rejection.
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, 3-12 and 14-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.
Statutory Category: Claims 1, 12 and 20 are directed to a method, apparatus and a computer program product. Therefore, the claims are directed to one of the four statutory categories of inventions.
Step 2A – Prong 1: Claims 1, 12 and 20 recites, determining a similarity degree between the code snippet and the at least one difference, wherein the similarity degree accounts for differences in entity names, instruction ordering, or code structure between the code snippet and the at least one difference; determining a degree of usage of the LLM for code containing the at least one difference, based on the similarity degree for the at least one difference and a subject to the usage degree exceeding a predetermined threshold, taking an action, being at least one of: blocking a commit operation to the source control system until approved by a person in charge, or generating a report indicating usage of code generated by the at least one LLM in the programmer’s code That is, other than a generic computer, nothing in the claim elements precludes the steps from practically being performed mentally. Specifically, determining a similarity degree between the code snippet and the at least one difference; determining a usage degree for code containing the at least one difference, based on the similarity degree for the at least one difference can be performed mentally through observation, evaluation, judgement, opinion by a developer to determine a similarity between code snippets and to determine a usage based on how similar the code snippets are and generating a report indicating usage of code generated by the at least one LLM in the programmer’s code merely recite a mental process as a person can mentally evaluate how much of the resultant code was produced by the LLM. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the category of abstract idea of mental process. Accordingly, the claim recites an abstract idea under step 2A prong 1.
Step 2A, Prong 2: The additional elements do not integrate the judicial exception into a practical application. The limitations a computerized apparatus having a processor, the processor being configured to perform the steps of and a computer program product comprising a computer readable storage medium retaining program instructions, which program instructions when read by a processor, cause the processor to perform a method comprising recite mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea, see MPEP 2106.05(f). The limitations obtaining a prompt provided to at least one large language model (LLM) for generating programming code; obtaining a code snippet generated by the at least one LLM in response to the prompt; obtaining at least one difference introduced to programmer’s code since the programmer’s code was checked out of the source control system, add insignificant extra solution activity, such as data gathering and transmission, see MPEP 2106.05(g). Accordingly, the additional elements recited in the claims do not integrate the abstract idea into a practical application.
Step 2B: As discussed with respect to step 2A prong 2, the limitations a computerized apparatus having a processor, the processor being configured to perform the steps of and a computer program product comprising a computer readable storage medium retaining program instructions, which program instructions when read by a processor, cause the processor to perform a method comprising recite mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea, see MPEP 2106.05(f). The limitations obtaining a prompt provided to at least one large language model (LLM) for generating programming code; obtaining a code snippet generated by the at least one LLM in response to the prompt; obtaining at least one difference introduced to programmer’s code since the programmer’s code was checked out of the source control system amount to well-understood, routine conventional activities as seen in court cases storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-93 and receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information). Accordingly, the claim does not amount to significantly more than the judicial exception, thus lack an inventive concept for patent eligibility under 35 USC 101.
Regarding claims 3 and 14 the additional elements wherein the similarity degree is determined subject to the prompt being provided to the at least one LLM after a previous commit of the programmer’s code to a source control system, further recites an abstract idea. Thus, this limitation does not integrate the judicial exception into a practical application under prong 2, or amounts to significantly more under Step 2B.
Regarding claims 4 and 15 the additional elements wherein said determining is performed upon a commit operation when entering code to a source control system, further recites an abstract idea. Thus, this limitation does not integrate the judicial exception into a practical application under prong 2, or amounts to significantly more under Step 2B.
Regarding claims 5 and 16 the additional elements wherein the at least one LLM is a generative artificial intelligence (AI) engine, further recites field of use/technological environment, see MPEP 2106.05(h). Thus, this limitation does not integrate the judicial exception into a practical application under prong 2, or amounts to significantly more under Step 2B.
Regarding claims 5 and 16 the additional elements wherein the at least one LLM is a generative artificial intelligence (AI) engine, further recites field of use/technological environment, see MPEP 2106.05(h). Thus, this limitation does not integrate the judicial exception into a practical application under prong 2, or amounts to significantly more under Step 2B.
Regarding claims 6 the additional elements wherein the code comprises a project, further recites field of use/technological environment, see MPEP 2106.05(h). Thus, this limitation does not integrate the judicial exception into a practical application under prong 2, or amounts to significantly more under Step 2B.
Regarding claims 7 and 17 the additional elements wherein the code comprises a project or a file, further recites field of use/technological environment, see MPEP 2106.05(h). Thus, this limitation does not integrate the judicial exception into a practical application under prong 2, or amounts to significantly more under Step 2B.
Regarding claims 8 and 18 the additional elements wherein the action comprises at least one item selected from the group consisting of: displaying to a user a number of code lines within the code that are based on the code snippet provided by each of the at least one LLM, and displaying to the user code changes attributed to the at least one LLM, add insignificant extra solution activity, such as data gathering and transmission, see MPEP 2106.05(g). Thus, this limitation does not integrate the judicial exception into a practical application under prong 2, or amounts to significantly more under Step 2B.
Regarding claims 9 and 19 the additional elements wherein the action comprises at least one item selected from the group consisting of: providing to a user an indication that the at least one difference is attributed to the LLM, sending a message to the user, showing code changes, and blocking a build operation or a version creation, add insignificant extra solution activity, such as data gathering and transmission, see MPEP 2106.05(g). Thus, this limitation does not integrate the judicial exception into a practical application under prong 2, or amounts to significantly more under Step 2B.
Regarding claim 10 the additional elements further comprising sending a message to a supervisor of the user, to a compliance officer, or to another person in charge, add insignificant extra solution activity, such as data gathering and transmission, see MPEP 2106.05(g). Thus, this limitation does not integrate the judicial exception into a practical application under prong 2, or amounts to significantly more under Step 2B.
Regarding claim 11 the additional elements wherein showing code changes comprises enabling drill down into the code, further recites field of use/technological environment, see MPEP 2106.05(h). Thus, this limitation does not integrate the judicial exception into a practical application under prong 2, or amounts to significantly more under Step 2B.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-7, 12-17 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Graves et al. (US-PAT-NO: 12,323,449 B1) hereinafter Graves, in further view of Hu et al. (US-PGPUB-NO: 2025/0094138 A1) hereinafter Hu.
As per claim 1, Graves teaches a computer-implemented method comprising: obtaining a prompt provided to at least one large language model (LLM) for generating programming code; obtaining a code snippet generated by the at least one LLM in response to the prompt (see Graces [column 122, lines 57-60], “In some embodiments, the one or more constraints may be based on a prompt used to generate the vulnerable code, such as the inclusion of particular keywords or phrases, degrees of similarity between prompts or relative to some reference prompt, and the like. Other constraints may also be used in identifying 2202 the one or more portions of vulnerable code”); obtaining at least one difference introduced to programmer’s code (see Graves [column 123, lines 58-60], “The method of FIG. 22 also includes generating 2206, based on the one or more portions of vulnerable code, one or more portions of suggested replacement code”), since the programmer’s code was checked out of a source control system (see Graves [column 65, lines 13-23 and lines 39-40], “In some embodiments, the systems described herein may be part of an application performance monitoring (‘APM’) solution. APM software and tools enable the observation of application behavior, observation of its infrastructure dependencies, observation of users and business key performance indicators (‘KPIs’) throughout the application's life cycle, and more. The applications being observed may be developed internally, as packaged applications, as software as a service (‘SaaS’), or embodied in some other ways. In such embodiments, the systems described herein may provide one or more of the following capabilities:” and “Analysis of business KPIs and user journeys (for example, login to check-out)”).; determining a similarity degree between the code snippet and the at least one difference (see Graves [column 123, lines 51-57], “In some embodiments, the one or more constraints may be based on a prompt used to generate the vulnerable code, such as the inclusion of particular keywords or phrases, degrees of similarity between prompts or relative to some reference prompt, and the like. Other constraints may also be used in identifying 2202 the one or more portions of vulnerable code”) wherein the similarity degree accounts for differences in entity names, instructions ordering, or code structure between the code snippet and the at least one difference (see Graves [column 61, lines 47-60], “In fact, configuration files for multiple cloud deployments may even be used by the systems described herein to identify best practices, to identify configuration files that deviate from typical configuration files, to identify configuration files with similarities to deployments that have been determined to be deficient in some way, or the configuration files may be leveraged in some other ways to detect vulnerabilities, misconfigurations, violations of regulatory requirements, or other issues prior to deploying an infrastructure that is described in the configuration files. In some embodiments the techniques described herein may be used in multi-cloud, multi-tenant, cross-cloud, cross-tenant, cross-user, industry cloud, digital platform, and other scenarios depending on specific need or situation”).
Graves does not explicitly teach determining a degree of usage of the LLM for code containing the at least one difference, based on the similarity degree for the at least one difference; and subject to the usage degree exceeding a predetermined threshold, taking an action being at least one of: blocking a commit operation to the source control system until approved by a person in charge, or generating a report indicating usage of code generated by the at least one LLM in the programmer’s code. However, Hu teaches determining a degree of usage of the LLM for code containing the at least one difference, based on the similarity degree for the at least one difference (see Hu paragraph [0035], “In one embodiment, automatic LLM evaluator 110 is configured to generate an evaluation score 150 for performance of the tuned large language model as a code generator. Evaluation score 150 (or other metrics) characterizes or quantifies the performance of tuned LLM 134. For example, automatic LLM evaluator 110 may be configured to generate evaluation score 150 based on a reference code sample 120 from testing database 114. More particularly, automatic LLM evaluator 110 is configured to generate evaluation score 150 based on additional generated code 152. The additional generated code 152 is generated by the tuned LLM 132 from a reference prompt 130 extracted by reference parser 107 from reference code sample 120. The additional generated code 152 is generated to be a specimen that demonstrates the behavior of the tuned LLM 132 following fine-tuning beyond the baseline of the initial LLM 130”); and subject to the usage degree exceeding a predetermined threshold (see Hu paragraph [0037], “In one embodiment, automatic LLM evaluator 110 is configured to provide evaluation score 150 to deployment decider 112 for evaluation against a threshold 154.”), taking an action being at least one of: blocking a commit operation to the source control system until approved by a person in charge, or generating a report indicating usage of code generated by the at least one LLM in the programmer’s code (see Hu paragraph [0038], “In one embodiment, deployment decider 112 is configured to automatically determine to deploy 158 the tuned large language model 134 to a production environment 156 for code generation in response to the evaluation score satisfying the threshold 154. Where the value of evaluation score 150 satisfies the threshold 154—that is, the condition(s) of threshold 154 evaluate to “TRUE” given the value of evaluation score 150—deployment decider 112 is configured to automatically deploy 158 tuned large language model 134 to perform code generation tasks in a production environment 156. Where the value of evaluation score 150 does not satisfy the threshold 154—that is, the condition(s) of threshold 154 evaluate to “FALSE” given the value of evaluation score 150—deployment decider 112 is configured to not deploy tuned large language model 134 to perform the code generation tasks in the production environment. Instead, deployment decider 112 is configured to initiate a further epoch of training to further improve the code generation ability of tuned LLM 132”).
Graves and Hu are analogous art because they are in the same field of endeavor of software development. Therefore, it would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to modify Graves’ teaching of code analysis feedback loop for code created using generative artificial intelligence with Hu’s teaching of LLM fine-tuning for code generation to incorporate calculating an evaluation score based on change used in LLM vs. the reference code sample to determine what type of action to take when deploying the code segment, see Hu paragraph [0038], “In one embodiment, deployment decider 112 is configured to automatically determine to deploy 158 the tuned large language model 134 to a production environment 156 for code generation in response to the evaluation score satisfying the threshold 154. Where the value of evaluation score 150 satisfies the threshold 154—that is, the condition(s) of threshold 154 evaluate to “TRUE” given the value of evaluation score 150—deployment decider 112 is configured to automatically deploy 158 tuned large language model 134 to perform code generation tasks in a production environment 156. Where the value of evaluation score 150 does not satisfy the threshold 154—that is, the condition(s) of threshold 154 evaluate to “FALSE” given the value of evaluation score 150—deployment decider 112 is configured to not deploy tuned large language model 134 to perform the code generation tasks in the production environment. Instead, deployment decider 112 is configured to initiate a further epoch of training to further improve the code generation ability of tuned LLM 132..”
As per claim 3, Graves modified with Hu teaches wherein the similarity degree is determined subject to the prompt being provided to the at least one LLM after a previous commit of the programmer’s code to a source control system (see Hu paragraph [0046] “In one embodiment, deployment decider 112 then integrates the serialized, tuned LLM 134 into an existing API infrastructure for the production environment 156. Deployment decider updates the existing API endpoints and functionality to accommodate the tuned LLM 134. In one embodiment, discrete endpoints are defined to support various natural language processing tasks or functionalities. In one embodiment, there is a software code generation endpoint dedicated to code generation tasks. The software code generation endpoint accepts parameters such as prompts for generation of software code, and target languages for the software code to be generated in. For example, the endpoint path may be ‘/generate_code’.).
As per claim 4, Graves modified with Hu teaches wherein said determining is performed upon a commit operation when entering code to a source control system (see Hu paragraph [0046] “In one embodiment, deployment decider 112 then integrates the serialized, tuned LLM 134 into an existing API infrastructure for the production environment 156. Deployment decider updates the existing API endpoints and functionality to accommodate the tuned LLM 134. In one embodiment, discrete endpoints are defined to support various natural language processing tasks or functionalities. In one embodiment, there is a software code generation endpoint dedicated to code generation tasks. The software code generation endpoint accepts parameters such as prompts for generation of software code, and target languages for the software code to be generated in. For example, the endpoint path may be ‘/generate_code’.).
As per claim 5, Graves modified with Hu teaches wherein the at least one LLM is a generative artificial intelligence (AI) engine (see Graves [column 115, lines 48-56], “The method of FIG. 19 includes performing 1902 a code analysis on code generated by a generative artificial intelligence (AI) model. A generative AI model is any model used to perform generative AI functionality. As referred to herein, generative AI uses models such as neural networks, including large language models (LLMs), large multimodal models (LMMs), and the like to generate content, such as text, code, graphics, animations, video, audiovisual representations, audio, speech, etc., in response to prompts”).
As per claim 6, Graves modified with Hu teaches wherein the code comprises a project (see Graves [column 56, lines 14-15], “4. join/project/aggregate/subclass of other entities”).
As per claim 7, Graves modified with Hu teaches wherein the code comprises a file (see Graves [column 93, lines 8-13], “As such, the data platform may be configured to look at things like command line arguments and know that one or more Java processes with one set of jar files and command line arguments is actually a separate program from one or more Java processes with another set of jar files and command line arguments”).
As per claims 12-16, these are the apparatus having a processor (see Graves [column 7, lines 35-41], “The embodiments described herein can be implemented in numerous ways, including as a process; an apparatus; a system; a composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured to execute instructions stored on and/or provided by a memory coupled to the processor”) claims to method claims 1-5, respectively. Therefore, they are rejected for the same reasons as above.
As per claim 17, Graves modified with Hu teaches wherein the code comprises a project (see Graves [column 56, lines 14-15], “4. join/project/aggregate/subclass of other entities”) or a file (see Graves [column 93, lines 8-13], “As such, the data platform may be configured to look at things like command line arguments and know that one or more Java processes with one set of jar files and command line arguments is actually a separate program from one or more Java processes with another set of jar files and command line arguments”).
As per claim 20, this is the computer program product comprising a computer readable storage medium (see Graves [column 7, lines 35-41], “The embodiments described herein can be implemented in numerous ways, including as a process; an apparatus; a system; a composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured to execute instructions stored on and/or provided by a memory coupled to the processor”) claim to method claim 1. Therefore, it is rejected for the same reasons as above.
Claim(s) 8-11, 18 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Graves (US-PAT-NO: 12,323,449 B1) and Hu (US-PGPUB-NO: 2025/0094138 A1), in further view of Smith et al. (US-PGPUB-NO: 2020/0097261 A1) hereinafter Smith.
As per claim 8, Graves modified with Hu do not explicitly teach wherein the action comprises at least one item selected from the group consisting of: displaying to a user a number of code lines within the code that are based on the code snippet provided by each of the at least one LLM, and displaying to the user code changes attributed to the at least one LLM. However, Smith teaches wherein the action comprises at least one item selected from the group consisting of: displaying to a user a number of code lines within the code that are based on the code snippet provided by each of the at least one LLM, and displaying to the user code changes attributed to the at least one LLM (see Smith paragraph [0137], “Embodiments may display code snippets in different ways. In one embodiment, code snippets that span multiple lines (“multi-line code snippets”) are shown across multiple lines, for example, in the manner that they would be displayed in the editor. In some embodiments, multi-line code snippets may be displayed on a single line and have characters shown to denote the new lines. This may be easier for viewing and understanding in some cases. In some embodiments, the multi-line code snippet may be come long if it is displayed on a single line. Extra new lines may be inserted at determined locations to make the code snippet easier to read, particularly if the display component is narrower than the width of the code snippet. This may be referred to as a smart wrap feature”).
Graves, Hu and Smith are analogous art because they are in the same field of endeavor of software development. Therefore, it would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to modify Graves’ teaching of code analysis feedback loop for code created using generative artificial intelligence and Hu’s teaching of LLM fine-tuning for code generation with Smith’s teaching of code completion during programming and development to incorporate displaying changes made to code segments using a co-pilot system , see Smith paragraph [0009], “Some embodiments relate to predictive editing. In an exemplary method, an event is detected that is indicative of a need for automatic refactoring. One or more features of the source code may be determined and analyzed. The features may be analyzed to determine that automatic refactoring is needed and to determine the appropriate automatic refactoring action. The automatic refactoring action may be displayed to the user as an option, or may be performed automatically.”
As per claim 9, Graves modified with Hu and Smith teaches wherein the action comprises at least one item selected from the group consisting of: providing to a user an indication that the at least one difference is attributed to the LLM, sending a message to the user, showing code changes (see Smith paragraph [0066], “In some embodiments, the source code 310 is buffered in short-term memory and edits or changes are made in the buffered in-memory version of the source code 310 until a save file action is performed to save the updated source code file in permanent memory. In step 404, in parallel with the editor allowing the programming to edit the code, the code completion system 342 waits for an event indicating that a programming co-pilot action, such as code completion or predictive editing, should be performed. An event may be an electronic notification in a computer system indicating that an occurrence or activity has taken place. The triggering event may be of various possible types. For example, the triggering event may be detecting that the user has stopped typing for a specified period of time, detecting that the user has just completed typing a token, detecting that the user has added a new character, deleted a character, or otherwise modified the source code 310, detecting that the user has finished typing a specific character, such as a space, determining that a specified time interval has elapsed since the last code completion suggestion, or other events”), and blocking a build operation or a version creation (see Graves [column 120, lines 47-56], “As is set forth above, in some embodiments, code may be updated (e.g., updated code may be requested) based on the results of multiple previously performed code analyses. For example, a prompt may be generated that indicates any vulnerabilities identified in previous versions of the code or subsets thereof. As another example, a prompt may be generated that requests exclusion of, or includes suggested remedial actions for, any vulnerabilities identified in previous versions of the code or subsets thereof. This may facilitate preventing the reintroduction of vulnerabilities remedied in some previous version of the code”).
As per claim 10, Graves modified with Hu and Smith teaches further comprising sending a message to a supervisor of the user, to a compliance officer, or to another person in charge (see Graves [column 92, lines 2-7], “Further assume in this example, however, that examining the source code for the first microservice reveals that the messaging library also includes functions that enable a user of the library to send messages to recipients on an external network using standard internet protocols”).
As per claim 11, Graves modified with Hu and Smith teaches wherein showing code changes comprises enabling drill down into the code (see Graves [column 115, lines 3-10], “In this process, a subsequent natural language input 1704 may be intended to drill down on information presented in a previous response 1714. Alternatively, a subsequent natural language input 1704 may be intended to shift directions, introduce different phrasing, or otherwise pivot the direction of the conversation (e.g., if a response 1714 does not adequately address an issue raised by some natural language input 1704)”).
As per claims 18 and 19, these are the apparatus claims to method claims 8 and 9, respectively. Therefore, they are rejected for the same reasons as above.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Leeman-Munk et al. (US-PAT-NO: 12,277,409 B1) teaches training a code generation model for low-resource languages.
Cowan et al. (US-PGPUB-NO: 2017/0235568 A1) teaches source code revision control with selectable file portion synchronization.
Vargas (US-PGPUG-NO: 2016/0357519 A1) teaches natural language engine for coding and debugging.
Zanbar et al. (US-PGPUB-NO: 2019/0095315 A1) teaches code coverage thresholds for code segments based on usage frequency and change frequence.
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 LENIN PAULINO whose telephone number is (571)270-1734. The examiner can normally be reached Week 1: Mon-Thu 7:30am - 5:00pm Week 2: Mon-Thu 7:30am - 5:00pm and Fri 7:30am - 4:00pm EST.
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, Bradley Teets can be reached at (571) 272-3338. 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 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.
/LENIN PAULINO/Examiner, Art Unit 2197
/BRADLEY A TEETS/Supervisory Patent Examiner, Art Unit 2197