Office Action Predictor
Application No. 18/551,475

UPDATING SOFTWARE CODE IN A CODE MANAGEMENT SYSTEM

Non-Final OA §101§103
Filed
Sep 20, 2023
Examiner
WEI, ZENGPU
Art Unit
2197
Tech Center
2100 — Computer Architecture & Software
Assignee
British Telecommunications Public Limited Company
OA Round
1 (Non-Final)
71%
Grant Probability
Favorable
1-2
OA Rounds
2y 8m
To Grant
99%
With Interview

Examiner Intelligence

71%
Career Allow Rate
225 granted / 318 resolved
Without
With
+50.8%
Interview Lift
avg trend
2y 8m
Avg Prosecution
35 pending
353
Total Applications
career history

Statute-Specific Performance

§101
16.5%
-23.5% vs TC avg
§103
57.6%
+17.6% vs TC avg
§102
5.1%
-34.9% vs TC avg
§112
12.9%
-27.1% vs TC avg
Black line = Tech Center average estimate • Based on career data

Office Action

§101 §103
DETAILED ACTION The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . The instant application having application No. 18/551,475 filed on September 20, 2023, presents claims 1-6 for examination. The instant application claims priority to PCT/EP2022/05622 filed on 3/10/2022, and to GB2103915.1 filed 3/22/2021. Information Disclosure Statement The information disclosure statement (IDS) submitted on 9/20/2023 was filed before the mailing date of the Non-Final Office Action. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner. Examiner Notes Examiner cites particular columns, paragraphs, figures and line numbers 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 that, in preparing responses, the applicant fully consider the references in their 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. In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. Specification The disclosure is objected to because of the following informalities: P5, lines 14-15, -code 200 [[to]] received-. Appropriate correction is required. 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-6 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. With respect to claim 1, This claim is within at least one of the four categories of patent eligible subject matter as it is directed to a method claim under Step 1. Under Prong 1, Step 2A: However, the limitations of claim 1, “receiving candidate code for merging with the software code in the code management system; extracting each of a plurality of features of the candidate code, each feature being based on one or more predetermined metrics of the candidate code; processing at least a subset of the extracted features by each of a plurality of disparate classifiers, each classifier being trained by a supervised training method to identify one or more software code defects, such that each classifier identifies a set of features as indicative of a software code defect, wherein intersections between a predetermined number of the sets of features identified by the classifiers are indicated as prospective code defects; and selectively merging the candidate code with the software code in the code management system based on the prospective code defects.” as drafted, are functions that, under its broadest reasonable interpretation, recite the abstract idea of a mental process. The limitations encompass a human mind carrying out the functions through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. e.g. human can manually receive candidate code as defined by the claim, and can manually extract features of the candidate code as defined by the claim. For the limitation “processing …”, other than reciting “by each of a plurality of disparate classifiers, each classifier being trained by a supervised training method to identify one or more software code defects” nothing in the claim element precludes the step from practically being performed in the mind. E.g. but for the “by each of a plurality of disparate classifiers, each classifier being trained by a supervised training method to identify one or more software code defects” language, “processing” in the context of this claim encompasses the user manually processes a subset of the extracted features to identify a set of features as indicative of a software code defect, as defined by the claim. For the “selectively merging …” process, other than reciting “in the code management system”, nothing in the claim element precludes the step from practically being performed in the mind. E.g. but for the “in the code management system” language, “selectively merging” in the context of this claim encompasses the user manually selectively merge the candidate code with the software code as defined in the claim. Thus these claim limitations fall within the “Mental Processes” grouping of abstract ideas under Prong 1 Step 2A Under Prong 2, Step 2A: The judicial exception is not integrated into a practical application. The claim recites the following additional elements “a computer”, “a code management system”, “a plurality of disparate classifiers, each classifier being trained by a supervised training method to identify one or more software code defects”; Wherein the computer, the code management system and the plurality of disparate classifiers are recited at a high-level of generality (i.e. as a generic processing device or software component performing generic computer functions) such that it amounts to no more than mere instructions to apply the exception using a generic computer component. Accordingly, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. Under Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements “a computer”, “a code management system”, and “a plurality of disparate classifiers, each classifier being trained by a supervised training method to identify one or more software code defects”, that are mere use of generic computer/software to implement the abstract idea, thus, are not an inventive concept. Accordingly, even viewed as a whole, the claim does not appear to be patent eligible under 35 USC 101. With respect to claim 2, “wherein the predetermined number of sets is one of: a proportion of the number of disparate classifiers used to process the extracted features; at least two; [[and]] or a predetermined threshold number of sets.” as drafted, are functions that, under its broadest reasonable interpretation, cover performance of the limitation in the mind. E.g. the user can manually determine the predetermined number of sets as defined by the claim. With respect to claim 3, “further comprising applying a clustering method to the prospective code defects based on features of each prospective code defect to divide the prospective code defects into clusters, such that each cluster constitutes a type of code defect, and wherein selectively merging the candidate code with the software code in the code management system is based on the types of code defect indicated by the clusters.” as drafted, are functions that, under its broadest reasonable interpretation, cover performance of the limitation in the mind. E.g. but for the “in the code management system” language, the user can manually apply a clustering method and merge code as defined by the claim. The code management system is recited at a high-level of generality (i.e. as a generic computer system) such that it amounts to no more than mere instructions to apply the judicial exception using a generic computer component. With respect to claim 4, “wherein the features of each prospective code defect includes one or more of: attributes of the prospective code defect determined by one or more of the classifiers; [[and]] or one or more features of the candidate code on which basis the prospective code defect was identified by the classifiers.” as drafted, is merely indicating a field of use or technological environment in which to apply a judicial exception, and does not amount to significantly more than the exception itself, and cannot integrate a judicial exception into a practical application. See MPEP § 2106.05(h). With respect to claim 5, This claim is within at least one of the four categories of patent eligible subject matter as it is directed to a computer system under Step 1. This claim recites a computer system to implement a method that is disclosed in claim 1 and therefore recites the same abstract idea as claim 1, please see the office action analysis regarding claim 1. Claim 5 recites more additional elements that are not recited in claim 1, i.e. “A computer system”, “a processor and memory” but these additional elements are recited at a high-level of generality (i.e. as a generic computer component) such that it amounts to no more than mere instructions to apply the judicial exception using a generic computer component. With respect to claim 6, This claim is within at least one of the four categories of patent eligible subject matter as it is directed to a non-transitory computer-readable storage medium under Step 1. This claim recites a non-transitory computer-readable storage medium to implement a method that is disclosed in claim 1 and therefore recites the same abstract idea as claim 1, please see the office action analysis regarding claim 1. Claim 6 recites more additional elements that are not recited in claim 1, i.e. “a non-transitory computer-readable storage medium” and “a computer system”; but these additional elements are recited at a high-level of generality (i.e. as a generic computer component) such that it amounts to no more than mere instructions to apply the exception using a generic computer component. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1, 2, 5, and 6 are rejected under 35 U.S.C. 103 as being unpatentable over Wiener et al. (US 20200125485 A1, hereinafter Wiener) in view of SRINIVASAN et al. (US 20180276105 A1, hereinafter SRINIVASAN) and Zhang et al. (US 20200241861 A1, hereinafter Zhang). With respect to claim 1 (Currently Amended), Wiener discloses A computer implemented method of updating software code in a code management system, the method comprising: receiving candidate code for merging with the software code in the code management system (e.g. para [0199], “… Development application 900 may then be used to generate and transmit a request to merge the source code update with development branch 1012 at push checkpoint 1002, as indicated by arrow 1102. …”); selectively merging the candidate code with the software code in the code management system based on the prospective code defects (e.g. para [0219], “… Block 1212 may involve, in response to determining that the feedback data indicates that the first branch as updated passed at least the threshold number of the plurality of software tests, providing, by the software application and to the content management system, instructions to merge the first branch as updated with a production branch of the software product such that subsequent branches created from the production branch include the source code update.” Wherein passed at least the threshold number of the plurality of software tests indicates the prospective code defects). Wiener does not appear to explicitly disclose extracting each of a plurality of features of the candidate code, each feature being based on one or more predetermined metrics of the candidate code; processing at least a subset of the extracted features by each of a plurality of disparate classifiers, each classifier being trained by a supervised training method to identify one or more software code defects, such that each classifier identifies a set of features as indicative of a software code defect, wherein intersections between a predetermined number of the sets of features identified by the classifiers are indicated as prospective code defects; However, in analogous art, SRINIVASAN discloses extracting each of a plurality of features of the candidate code, each feature being based on one or more predetermined metrics of the candidate code (e.g. Fig. 4, step 402, “Extract semantic Features from A Source Code Under Review”. para [0024], “… A DBN may be utilized to learn semantic features of the source code under review from the token vectors extracted from the ASTs that represent the source code under review.” wherein the token vectors read on predetermined metrics); It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the invention of Wiener with the invention of SRINIVASAN because it provides techniques for facilitating discrete review of the selected candidate code section. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, for the purpose of providing techniques for facilitating discrete review of the selected candidate code section as suggested by SRINIVASAN (see Summary). Wiener as modified by SRINIVASAN does not appear to explicitly disclose processing at least a subset of the extracted features by each of a plurality of disparate classifiers, each classifier being trained by a supervised training method to identify one or more software code defects, such that each classifier identifies a set of features as indicative of a software code defect, wherein intersections between a predetermined number of the sets of features identified by the classifiers are indicated as prospective code defects; However, this is taught in analogous art, Zhang (e.g. Fig. 2, steps 203-205, para [0039], “At block 205, process 200 involves integrating the set of classifications and the set of sub-classifications into a final classification of the textual description that indicates a software component responsible for causing the software defect. …” wherein integrating classifications and sub-classifications into a final classification that indicates a software component responsible for causing the software defect reads on wherein intersections between a predetermined number of the sets of features identified by the classifiers are indicates as prospective code defects. Para [0015] discloses training the classification models, and the training reads on supervised training) It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the invention of Zhang because it provides techniques for facilitating updates to software programs by determining a location of a software defect via machine learning techniques. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, for the purpose of providing techniques for facilitating updates to software programs by determining a location of a software defect via machine learning techniques as suggested by Zhang (see para [0006]). With respect to claim 2 (Currently Amended), Wiener as modified by SRINIVASAN and Zhang discloses The method of claim 1: Zhang further discloses wherein the predetermined number of sets is one of: a proportion of the number of disparate classifiers used to process the extracted features; at least two; [[and]] or a predetermined threshold number of sets (e.g. para [0039] as cited above for claim 1, wherein the integrating indicates at least two. For motivation to combine, please refer to office action regarding claim 1 above). Regarding claim 5, it is directed to a system to implement the method disclosed in claim 1, please see the rejections directed to claim 1 above which also cover the limitations recited in claim 5. Note that, Wiener teaches A computer system comprising: a processor and memory storing computer program code for updating software code in a code management system (e.g. Fig. 1). Regarding claim 6, it is directed to a non-transitory computer-readable storage medium to implement the method disclosed in claim 1, please see the rejections directed to claim 1 above which also cover the limitations recited in claim 6. Note that, Wiener teaches A non-transitory computer-readable storage medium comprising computer program code to, when loaded into a computer system and executed thereon, cause the computer system to update software code in a code management system (e.g. Fig. 1). Claims 3-4 are rejected under 35 U.S.C. 103 as being unpatentable over Wiener in view of SRINIVASAN and Zhang as applied to claim 1, in further view of Farchi et al. (US 20160299838 A1, hereinafter Farchi). With respect to claim 3 (Currently Amended), Wiener as modified by SRINIVASAN and Zhang discloses The method of claim 1: Wiener discloses selectively merging the candidate code with the software code in the code management system is based on prospective code defects (e.g. para [0219] as cited for claim 1 above), but does not appear to explicitly disclose further comprising applying a clustering method to the prospective code defects based on features of each prospective code defect to divide the prospective code defects into clusters, such that each cluster constitutes a type of code defect, and wherein selectively merging the candidate code with the software code in the code management system is based on the types of code defect indicated by the clusters. However, this is taught in analogous art, Farchi (e.g. Fig. 1, para [0027], “In Step 130, a plurality of clusters may be defined. Each cluster may be associated with an attribute and may comprise all software elements having the attribute. …” para [0028], “In Step 140, clusters may be scored. …” para [0031], “In some exemplary embodiments, the score of a cluster may represent the estimated likelihood of a software element having the same attribute as the cluster to be defected. …”) Wiener in combination with Farchi renders the claim feature obvious. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the invention of Farchi because it provides techniques to provide for priorities to perform QA activities with respect to software elements. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, for the purpose of providing to provide for priorities to perform QA activities with respect to software elements as suggested by Farchi (see para [0019]). With respect to claim 4 (Currently Amended), Wiener as modified by SRINIVASAN, Zhang and Farchi discloses The method of claim 3: Zhang further discloses wherein the features of each prospective code defect includes one or more of: attributes of the prospective code defect determined by one or more of the classifiers; [[and]] or one or more features of the candidate code on which basis the prospective code defect was identified by the classifiers. (e.g. Fig. 2 and corresponding text, para [0034], “At block 203, process 200 involves determining a set of classifications by applying a first classification model to the feature vector to each classification in the set of classifications including a respective probability that the textual description is represented by the classification. …” wherein the feature vector is generated from the textual description of a software defect, which indicates that each prospective code defect includes one or more features of the candidate code on which basis the prospective code defect was identified by the classifiers. For motivation to combine, please refer to office action regarding claim 1 above). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. For example, Mak et al. US 20170212751 A1 teaches automatic detection of potential merge errors. Any inquiry concerning this communication or earlier communications from the examiner should be directed to Zengpu Wei whose telephone number is 571-270-1302. The examiner can normally be reached on Monday to Friday from 8:00AM to 5:00 PM. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Bradley Teets, can be reached on 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 an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://portal.uspto.gov/external/portal. Should you have questions about access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). 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. /ZENGPU WEI/ Examiner, Art Unit 2197
Read full office action

Prosecution Timeline

Sep 20, 2023
Application Filed
Jul 26, 2025
Non-Final Rejection — §101, §103
Mar 31, 2026
Response after Non-Final Action

Precedent Cases

Applications granted by this same examiner with similar technology. Study what changed to get past this examiner.

Patent 12596548
Multiprocessor Programming Toolkit for Design Reuse
2y 5m to grant Granted Apr 07, 2026
Patent 12598199
SYSTEMS, METHODS, AND GRAPHICAL USER INTERFACES FOR ACCELERATING A CONSTRUCTION OF A DATA INTEGRATION FOR A NON-INTEGRATED TECHNOLOGY DATA SOURCE
2y 5m to grant Granted Apr 07, 2026
Patent 12591418
ELECTRONIC SYSTEM FOR DEVELOPING A MACHINE LEARNING MODEL
2y 5m to grant Granted Mar 31, 2026
Patent 12585977
BUILDING A COMPLEMENTARY MODEL FOR AGGREGATING TOPICS FROM TEXTUAL CONTENT
2y 5m to grant Granted Mar 24, 2026
Patent 12578932
PRESENTED CODE GENERATION OPTIONS FOR DATA STRUCTURES
2y 5m to grant Granted Mar 17, 2026

AI Strategy Recommendation

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

Prosecution Projections

1-2
Expected OA Rounds
71%
Grant Probability
99%
With Interview (+50.8%)
2y 8m
Median Time to Grant
Low
PTA Risk
Based on 318 resolved cases by this examiner