DETAILED ACTION
This action is in response to application 18/889606, filed on 9/9/2024. Claims 1-20 are pending. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-5, 8-12, and 15-19 are rejected under 35 U.S.C. 103 as being unpatentable over USPGPUB 2019/0377666, hereinafter “Klein,” and USPGPUB 2025/0355631, hereinafter “O’Hara.”
Regarding claim 1, Klein discloses “A system comprising: a memory storing program code; and one or more processing units to execute the program code (see, e.g., Klein, para. 25-26) to cause the system to:
detect a new version of software code in a version control system; (see, e.g., Klein, para. 54; “determine that a change has occurred in the block of code stored in the code repository . . . determine that at least a portion of the code of the block of code is different than a previous version of the block of code.”; para. 33) and
in response to the detection of the new version of software code, automatically: build an application from the new version of software code; execute the application; detect an error in the build of the application or the execution of the application; (see, e.g., Klein, para. 55-58; “indicate that at least a portion of code of the block of code failed or includes an error when the block of code was previously error-free.”; para. 34)
in response to detection of the error, [facilitate] corrected software code based on the error and the new version of software code; (see, e.g., Klein, para. 35, 59-60).
Klein does not disclose the underlined portion of the limitation “in response to detection of the error, instruct a text generation model to generate corrected software code based on the error and the new version of software code.” However, O’Hara discloses detecting an error (e.g., para. 14, “information representing any execution errors is collected”) and generating a “repair prompt” to instruct a LLM to generate corrected code based. (O’Hara, para. 15-16, 58).
O’Hara also discloses “build a second version of the application from the corrected software code; execute the second version of the application; (e.g., para. 60; “To determine stability, an internal counter is maintained of the number of consecutive iterations of S210-S275 in which no exceptions occurred during execution of generated code at S220.”) and
based on the execution of the second version of the application, save the corrected software code to the version control system.” (e.g., para. 22, 40-41).
Klein and O’Hara are directed toward software development and testing and therefore are analogous art. On or before the effective filing date of the instant application, one of ordinary skill in the art would have deemed it obvious to try to combine the error detection method of Klein with the code generation method of O’Hara, thereby obtaining the invention of the instant claim. A clear and predictable benefit of so combining would have appeared as “the ability to generate code which executes specified tasks successfully and without error.” (O’Hara, para. 17). Accordingly, the instant claim is unpatentable over the combination of Klein and O’Hara.
Regarding claim 2, the combination of Klein and O’Hara renders obvious “The system according to Claim 1, wherein instructing of the text generation model to generate corrected software code comprises: selection of a prompt template based on the error from a plurality of prompt templates; and population of the selected prompt template with the new version of software code and the error.” (see, e.g., O’Hara, para. 32; “Prompt analysis component 132 generates a repair prompt based on a repair prompt template of templates 134. The repair prompt may include instructions to identify portions of the code generation prompt which caused the candidate execution error and to output an updated code generation prompt which corrects the identified portions.”).
Regarding claim 3, the combination of Klein and O’Hara renders obvious “The system according to Claim 2, wherein each of the plurality of prompt templates is associated with a respective error.” (see, e.g., O’Hara, para. 55; “The repair prompt may be a repair prompt template which includes placeholders for the exception type of the execution item identified at S260, the exception message of the identified execution item, the code causing the exception, the current code generation prompt, and the generated code associated with the execution item. S265 may include substitution of the placeholders of the repair prompt template with the information or generation of a corresponding user prompt including the information.”).
Regarding claim 4, the combination of Klein and O’Hara renders obvious “The system according to Claim 2, wherein saving of the corrected software code to the version control system comprises merging the corrected software code with a main branch of software code.” (See, e.g., Klein, para. 33; “The code repository 122 may receive the commits of code and may store code that has been merged and/or rewritten into a main or master branch at the code repository.”).
Regarding claim 5, the combination of Klein and O’Hara renders obvious “The system according to Claim 1, wherein saving of the corrected software code to the version control system comprises merging the corrected software code with a main branch of software code.” (See, e.g., Klein, para. 33; “The code repository 122 may receive the commits of code and may store code that has been merged and/or rewritten into a main or master branch at the code repository.”).
Regarding claims 8-12 and 15-19, the instant claims are equivalents of claims 1-5, differing only by statutory class. Accordingly, the rejections of claims 1-5 apply, mutatis mutandis, respectively to claims 8-12, and the rejections of claims 1-5 apply, mutatis mutandis, respectively to claims 15-19.
Allowable Subject Matter
Claims 6, 7, 13, 14, and 20 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to RYAN D COYER whose telephone number is (571) 270-5306. The examiner can normally be reached Monday-Friday 12pm-10pm Eastern 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, Wei Mui, can be reached on 571-272-3708. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/ docx for 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.
/Ryan D. Coyer/Primary Examiner, Art Unit 2191