Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTION
Status of Claims
Applicant’s Remarks dated November 25th, 2025 responding to the Office Action provided in the rejection of claims 1-20.
Claims 1, 4, 14, and 18 have been amended.
Claims 1-20 are remain pending in the application and which have been fully considered by the examiner.
Claims 1, 14, and 18 are in independent form.
Claims 1-20 are finally rejected.
Examiner Notes
Examiner cites particular columns 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 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.
Information Disclosure Statement
The information disclosure statements (IDS) submitted on 11/25/2025 and 12/16/2025 were filed after the mailing date of the Non-Final Office Action on August 27th, 2025. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
REMARKS
Applicant's traversal of the claim rejections, with respect to prior art, primarily consists of the following arguments, which will be addressed below:
Argument #1: Applicant submits that the cited references do not disclose or suggest at least the above- listed features of claim 1 as amended. Therefore, claim 1 is believed to be allowable over the cited references. (See Remarks, pages 9-10).
Answer to Argument #1: Examiner respectfully disagrees because Champlin further discloses the newly added limitation “the suggested operation as a selectable automated action to perform the suggested operation” in paragraph [0038] (“In addition to being able to pre-detect coding problems, embodiments of the invention will make test case generation and test automation smarter. Existing work artifacts and test cases will be leveraged to form the core knowledge base (e.g., the repository). Based on this knowledge base, embodiments of the invention will automatically generate new test suites (collections of test cases) to run on a selective automation segment that will likely catch a problem, and will suggest which test suites or test cases within test suites will unlikely produce useful results. This will not only save time on running test automation, but will also enhance the efficiency of identifying relevant problems.” (Emphasis added)).
Argument #2: Independent claims 14 and 18 are amended to include one or more elements that are the same as or similar to those elements amended into claim 1. Accordingly, Applicant submits that claims 14 and 18 are allowable over the cited references for reasons similar to those discussed above with respect to claim 1.
Answer to Argument #2: See Answer to Argument #1 above.
Examiner finds that Applicant’s arguments are not persuasive, as addressed under Prior Art’s Argument – Rejections section above. Any new ground of rejection presented in this Office action were necessitated by Applicants' amendments. 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 extension fee 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 date of this final action.
Claim Rejections - 35 U.S.C § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-4, 10, 13-15, and 17-20 are rejected under 35 U.S.C. § 103 as being unpatentable over Champlin-Scharff et al. (U.S. Publication No. 2017/0083428 – hereinafter, Champlin – IDS filed 08/22/2024) in view of Gupta (Pub. No.: U.S. 2021/0089299 – hereinafter, Gupta – IDS filed 04/10/2025) further in view of Turner et al. (Pub. No.: US 2021/0141640 – hereinafter, Turner).
Regarding claim 1:
Champlin discloses a computer implemented method, comprising:
automatically detecting an issue identifier, corresponding to an issue, in first code stored in a code repository (“a repository of textual descriptions of a history of changes to the software product would be created by gathering information (or a collection of links to information) from different sources such as from bug tracking databases, extracted comments in source code, and ‘one liner’ comments captured in software version control systems” (See para [0032])), [[wherein the issue is caused by undesired behavior of dependent code of the first code]], and wherein second code has been added to the first code as a workaround [[to the undesired behavior of the dependent code]] (“In another example, a developer may propose adding a method call to a third-party voice encoding and decoding module for the purposes of allowing voice annotations to a product's output, but the new tool may find using the NLP search that this third-party voice encoding and decoding module has caused failures in integration testing and field use on multiple occasions, and it may further find comments regarding a ‘work around’ to be to use another supplier's voice encoding and decoding module. As such, a text entry would be automatically entered into the relevant discussion thread, with links to both the potential problem comments and the potential work-around comments.” (See para [0054]));
automatically obtaining an issue status, indicative of whether the issue has been resolved, from an issue tracking system, based on the issue identifier (“In addition to pre-detecting code changes that may deviate an established requirement, another unique benefit of some embodiments of the present invention is to automatically suggest alternative solutions based on modeled predictions around defects, previous performance issues, or any other past discussions around how to adhere to best practices. These all come from the AI Machine Learning models and captured comment corpus. For example, if a developer enters a description of a proposed or recently-made change to the software design to ‘increase the encryption from 128-bit to 256-bit’, the NLP search may find some comments for previous discussion of encryption levels which identify the need to export this product and a requirement not to export certain levels (or above) of encryption, per legal or regulatory standards. The new tool, then, would create a link to those older comments and discussion entries, and would post them automatically into the discussion thread where the developer was proposing the new change.” (See para [0054]));
determining, by a code scanning system, the issue has been resolved based on the issue status (“The invention thereby allows a user to perform automated, unattended code reviews based on natural language processing (NLP) and artificial intelligence (AI). In addition to pre-detecting code changes that may deviate an established requirement, another unique benefit of some embodiments of the present invention is to automatically suggest alternative solutions based on modeled predictions around defects, previous performance issues, or any other past discussions around how to adhere to best practices. For example, if a developer enters a description of a proposed or recently-made change to the software design to ‘increase the encryption from 128-bit to 256-bit’, the NLP search may find some comments for previous discussion of encryption levels which identify the need to export this product and a requirement not to export certain levels (or above) of encryption, per legal or regulatory standards.” (Emphasis added – See para [0054]));
in response to determining of the second code (“For example, if a developer enters a description of a proposed or recently-made change to the software design to ‘increase the encryption from 128-bit to 256-bit’, the NLP search may find some comments for previous discussion of encryption levels which identify the need to export this product and a requirement not to export certain levels (or above) of encryption, per legal or regulatory standards. The new tool, then, would create a link to those older comments and discussion entries, and would post them automatically into the discussion thread where the developer was proposing the new change. In another example, a developer may propose adding a method call to a third-party voice encoding and decoding module for the purposes of allowing voice annotations to a product's output, but the new tool may find using the NLP search that this third-party voice encoding and decoding module has caused failures in integration testing and field use on multiple occasions, and it may further find comments regarding a ‘work around’ to be to use another supplier's voice encoding and decoding module. As such, a text entry would be automatically entered into the relevant discussion thread, with links to both the potential problem comments and the potential work-around comments” (Emphasis added – See para [0054]));
automatically identifying, by the code scanning system and a suggested operation [[to remove the workaround by removing the second code from the first code]] (“In addition to pre-detecting code changes that may deviate an established requirement, another unique benefit of some embodiments of the present invention is to automatically suggest alternative solutions based on modeled predictions around defects, previous performance issues, or any other past discussions around how to adhere to best practices. These all come from the AI Machine Learning models and captured comment corpus. For example, if a developer enters a description of a proposed or recently-made change to the software design to ‘increase the encryption from 128-bit to 256-bit’, the NLP search may find some comments for previous discussion of encryption levels which identify the need to export this product and a requirement not to export certain levels (or above) of encryption, per legal or regulatory standards. The new tool, then, would create a link to those older comments and discussion entries, and would post them automatically into the discussion thread where the developer was proposing the new change. In another example, a developer may propose adding a method call to a third-party voice encoding and decoding module for the purposes of allowing voice annotations to a product's output, but the new tool may find using the NLP search that this third-party voice encoding and decoding module has caused failures in integration testing and field use on multiple occasions, and it may further find comments regarding a ‘work around’ to be to use another supplier's voice encoding and decoding module. As such, a text entry would be automatically entered into the relevant discussion thread, with links to both the potential problem comments and the potential work-around comments.” (See para [0054])); and
providing, by the code scanning system as output to a user interface system (“The results of the NLP-based search would be displayed to the user, showing similar changes made in the past and indicating whether the previous changes were found to be problematic (e.g., had to be backed out, had to be blocked from inclusion in a release, had to be patched, etc)” (Emphasis added – See para [0034])), the suggested operation as a selectable automated action to perform the suggested operation (“In addition to being able to pre-detect coding problems, embodiments of the invention will make test case generation and test automation smarter. Existing work artifacts and test cases will be leveraged to form the core knowledge base (e.g., the repository). Based on this knowledge base, embodiments of the invention will automatically generate new test suites (collections of test cases) to run on a selective automation segment that will likely catch a problem, and will suggest which test suites or test cases within test suites will unlikely produce useful results. This will not only save time on running test automation, but will also enhance the efficiency of identifying relevant problems.” (Emphasis added) – See para [0038])).
But, Champlin does not explicitly teach:
wherein the issue is caused by undesired behavior of dependent code of the first code;
a suggested operation to remove the workaround by removing the second code from the first code.
However, Gupta discloses:
wherein the issue is caused by undesired behavior of dependent code of the first code (“The method includes creating a graph of the functional dependencies between the plurality features... The method further includes, for each code path having a usage exceeding a given threshold, using the graph of functional dependencies to simulate whether errors would occur during execution of the code path if one or more selected features in the plurality of features were disabled.” (See para [0006]). FIG. 2 and associated text, such as, “The service updater 20 has a feature on/off simulator 204 that uses the graph of functional dependencies created by the graph creator 201 to simulate whether errors would occur during execution of the code paths selected by the code path selector 203 if one or more selected features were disabled” (See para [0049]));
wherein the suggested operation includes [[removing the workaround by]] removing the second code from the first code (“The method further includes, for each code path having a usage exceeding a given threshold, using the graph of functional dependencies to simulate whether errors would occur during execution of the code path if one or more selected features in the plurality of features were disabled. The method finally includes, for each feature whose disabling would not generate errors during execution of any such code path, automatically refactoring the program code of the software service to remove the program code implementing the feature” (See para [0006]). FIG. 2 and associated text, such as, “The service updater 20 also has a refactoring unit 205. If the feature on/off simulator 204 determines that one or more of the features can be disabled without generating any errors during the execution of any of the code paths, it directs the refactoring unit 205 to automatically refactor the software service to remove the program code implementing the features and/or code paths” (See para [0051])).
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Gupta into the teachings of Champlin because that would have provided techniques that allow refactoring of software to eliminate code for features that are no longer needed, by simulating the effects of removing one or more features only from the most commonly executed code paths within a software service as suggested by Gupta (See para [0004]).
Moreover, Turner discloses:
wherein the suggested operation includes removing the workaround by removing the second code from the first code (FIG. 5 and associated text, such as, “The method commences at step 502, where a request to generate a pull request is received. Typically, a developer (e.g., Alice) may be working on a piece of source code on her own computing device (e.g., user computer 420). To do this, Alice may create a fork (e.g., clone repository 422) of the main (master) repository 404 that has the main source code 405. She can then implement changes to her version of the source code 425, e.g., in branch 424 (also referred to as Alice's branch). These changes may include fixing bugs, adding a feature, deleting a redundant piece of source code, refactoring the source code, etc…. In an embodiment, to view a pull request, a reviewer navigates to the reviewer's repository and selects a PULL REQUESTS option in a navigation bar. In response, the reviewer's browser 430 displays a list of incoming pull requests in an OPEN panel.” (Underline added – See paras [0054] – [0055]). Also see paragraphs [0069], [0072], [0078]).
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Turner into the teachings of Champlin and Gupta because that would have provided techniques for automatically updating source code in version control systems via a pull request as suggested by Turner (See para [0002]).
Regarding claim 2:
The rejection of claim 1 is incorporated, Champlin further discloses wherein automatically identifying the suggested operation comprises:
generating an artificial intelligence (AI) prompt based on the issue-related data and the issue status (“The invention thereby allows a user to perform automated, unattended code reviews based on natural language processing (NLP) and artificial intelligence (AI). In addition to pre-detecting code changes that may deviate an established requirement, another unique benefit of some embodiments of the present invention is to automatically suggest alternative solutions based on modeled predictions around defects, previous performance issues, or any other past discussions around how to adhere to best practices. These all come from the AI Machine Learning models and captured comment corpus.” (See para [0054]));
submitting the Al prompt to an Al model (“The invention thereby allows a user to perform automated, unattended code reviews based on natural language processing (NLP) and artificial intelligence (AI).” (See para [0054]));
receiving a response from the Al model (“The invention thereby allows a user to perform automated, unattended code reviews based on natural language processing (NLP) and artificial intelligence (AI).” (See para [0054])); and
identifying the suggested operation based on the response from the Al model (“The invention thereby allows a user to perform automated, unattended code reviews based on natural language processing (NLP) and artificial intelligence (AI). In addition to pre-detecting code changes that may deviate an established requirement, another unique benefit of some embodiments of the present invention is to automatically suggest alternative solutions based on modeled predictions around defects, previous performance issues, or any other past discussions around how to adhere to best practices. These all come from the AI Machine Learning models and captured comment corpus.” (See para [0054])).
Regarding claim 3:
The rejection of claim 1 is incorporated, Champlin further discloses wherein automatically identifying the suggested operation comprises:
performing natural language understanding on the issue-related data to obtain a semantic understanding of the issue-related data (“natural language searching shall mean receiving a natural language expression as an search query input, applying one or more NLP techniques including deductive logic, inductive logic, validity and soundness checks, rules of though (e.g., principle of contradiction, law of excluded middle, etc.), truth functionalities (e.g. Modus Ponens, Modus Tollens, hypothetical syllogism, denying an antecedent, affirming a consequent, etc.), predicate logic, sorites arguments, ethymemes, syntactic analysis, semantic analysis, and pragmatics. Syntactic analysis may contain one or more parsers, such as noise-disposal parsers, state-machine parsers, and definite clause parsers, and it may include pre-determined and updateable grammars (e.g. recognizable grammar structures), such as context-free notations (e.g. Backus-Naur forms, etc.). A semantic analyzer may, based on the results of the syntactic analysis or interactively operating with syntactic analysis, determines the meaning of a phrase, statement or sentence. Most semantic analyzers attempt to re-write the phrase, statement or sentence into a context-free form so that it can be more readily found in a lexicon and mapped to an intended or implicit meaning.” (See para [0027])); and
identifying the suggested operation based on the semantic understanding of the issue-related data (“A semantic analyzer may, based on the results of the syntactic analysis or interactively operating with syntactic analysis, determines the meaning of a phrase, statement or sentence. Most semantic analyzers attempt to re-write the phrase, statement or sentence into a context-free form so that it can be more readily found in a lexicon and mapped to an intended or implicit meaning.” (See para [0027])).
Regarding claim 4:
The rejection of claim 1 is incorporated, Champlin further comprising determining the suggested operation is an operation that can be performed in the code repository automatically (“In addition to pre-detecting code changes that may deviate an established requirement, another unique benefit of some embodiments of the present invention is to automatically suggest alternative solutions based on modeled predictions around defects, previous performance issues, or any other past discussions around how to adhere to best practices. These all come from the AI Machine Learning models and captured comment corpus. For example, if a developer enters a description of a proposed or recently-made change to the software design to ‘increase the encryption from 128-bit to 256-bit’, the NLP search may find some comments for previous discussion of encryption levels which identify the need to export this product and a requirement not to export certain levels (or above) of encryption, per legal or regulatory standards. The new tool, then, would create a link to those older comments and discussion entries, and would post them automatically into the discussion thread where the developer was proposing the new change.” (See para [0054])); and
generating the output with the selectable automated action, wherein the selectable automated action is actuatable by a user to automatically perform the suggested operation (In addition to being able to pre-detect coding problems, embodiments of the invention will make test case generation and test automation smarter. Existing work artifacts and test cases will be leveraged to form the core knowledge base (e.g., the repository). Based on this knowledge base, embodiments of the invention will automatically generate new test suites (collections of test cases) to run on a selective automation segment that will likely catch a problem, and will suggest which test suites or test cases within test suites will unlikely produce useful results. This will not only save time on running test automation, but will also enhance the efficiency of identifying relevant problems.” (Emphasis added) – See para [0038]). “The new tool, then, would create a link to those older comments and discussion entries, and would post them automatically into the discussion thread where the developer was proposing the new change. In another example, a developer may propose adding a method call to a third-party voice encoding and decoding module for the purposes of allowing voice annotations to a product's output, but the new tool may find using the NLP search that this third-party voice encoding and decoding module has caused failures in integration testing and field use on multiple occasions, and it may further find comments regarding a ‘work around’ to be to use another supplier's voice encoding and decoding module. As such, a text entry would be automatically entered into the relevant discussion thread, with links to both the potential problem comments and the potential work-around comments.” (See para [0054])).
Regarding claim 10:
The rejection of claim 1 is incorporated, Champlin further comprising: generating or updating an issue record in a scanning cache based on the issue status (“Once the requirement or change to the requirement has been approved, the final content of the requirement will be sent through the pre-detection tool (104, 401, 402) and, once annotated (403), will be used to update the training data (102) for the Machine Learning Models, as illustrated in FIG. 4. This allows the approved intervention to be included in the suggestions for similar requirements change proposed in the future.” (See para [0049])).
Regarding claim 13:
The rejection of claim 1 is incorporated, Champlin further discloses wherein automatically obtaining the issue status comprises:
determining whether the issue status has changed since a last time the issue status was automatically obtained; and if so, automatically identifying the suggested operation based on the change in the issue status (“Once the requirement or change to the requirement has been approved, the final content of the requirement will be sent through the pre-detection tool (104, 401, 402) and, once annotated (403), will be used to update the training data (102) for the Machine Learning Models, as illustrated in FIG. 4. This allows the approved intervention to be included in the suggestions for similar requirements change proposed in the future.” (See para [0049])).
Regarding claim 14:
This is a computer system version of the rejected method claim 1 above, wherein all the limitations of this claim have been noted in the rejection of claim 1, and is therefore rejected under similar rationale.
Regarding claim 15:
The rejection of base claim 14 is incorporated. All the limitations of this claim have been noted in the rejection of claim 2, and is therefore rejected under similar rationale.
Regarding claim 17:
The rejection of claim 1 is incorporated, Champlin further discloses wherein the suggestion engine comprises:
a workaround code identifier configured to identify the second code (“In another example, a developer may propose adding a method call to a third-party voice encoding and decoding module for the purposes of allowing voice annotations to a product's output, but the new tool may find using the NLP search that this third-party voice encoding and decoding module has caused failures in integration testing and field use on multiple occasions, and it may further find comments regarding a ‘work around’ to be to use another supplier's voice encoding and decoding module. As such, a text entry would be automatically entered into the relevant discussion thread, with links to both the potential problem comments and the potential work-around comments.” (See para [0054])); and
a code matching system configured to compare the second code to the first code stored in the code repository to determine whether the suggested workaround is implemented as a workaround in the first code in the code repository (“The new tool, then, would create a link to those older comments and discussion entries, and would post them automatically into the discussion thread where the developer was proposing the new change. In another example, a developer may propose adding a method call to a third-party voice encoding and decoding module for the purposes of allowing voice annotations to a product's output, but the new tool may find using the NLP search that this third-party voice encoding and decoding module has caused failures in integration testing and field use on multiple occasions, and it may further find comments regarding a ‘work around’ to be to use another supplier's voice encoding and decoding module. As such, a text entry would be automatically entered into the relevant discussion thread, with links to both the potential problem comments and the potential work-around comments.” (See para [0054]). “As content is added or removed from the requirement content, or discussion content added, an ‘intervention’ step will be proposed (304), if available, based on previous test case results and/or problem resolutions according to the results of the Natural Language Processing (NLP) search (303). Based on previous knowledge in the form of our trained models (102) and, if available, previous bug resolution notes (104), the bug pre-detection tool will offer suggestions in the form of automatically-generated discussion comments (301) or other suitable notices (e-mails, text messages, etc.) as to whether or not the proposals in the latest revision of the document will improve software quality in terms of the likelihood of introducing new defects, or triggering previously solved defects” (See para [0046])).
Regarding claim 18:
This is another computer system version of the rejected method claim 1 above, wherein all the limitations of this claim have been noted in the rejection of claim 1, and is therefore rejected under similar rationale.
Regarding claim 19:
The rejection of base claim 18 is incorporated. All the limitations of this claim have been noted in the rejection of claim 2, and is therefore rejected under similar rationale.
Regarding claim 20:
The rejection of base claim 18 is incorporated. All the limitations of this claim have been noted in the rejection of claim 3, and is therefore rejected under similar rationale.
Claims 5-9, 11-12, and 16 are rejected under 35 U.S.C. § 103 as being unpatentable over Champlin in view of Gupta and Turner, as applied to claims 1 and 14 above, further in view of Troutman et al. (U.S. Patent No. 9,430,359 – hereinafter, Troutman – IDS filed 08/22/2024).
Regarding claim 5:
The rejection of claim 1 is incorporated, but Champlin, Gupta, and Turner do not explicitly teach:
detecting a location in the first code in the code repository where the issue identifier is located.
However, Troutman discloses:
detecting a location in the code in the code repository where the issue identifier is located (FIGS. 6-7 and associated text, such as, “The locations 702 refer to locations in the software component 106 that may be relevant to the associated issue 122. For example, and without limitation, the locations 702 might refer to one or more files within the software component 106, a line of source code, or a range of lines of source code within the software component 106. A user may be permitted to specify the locations 702, or the locations 702 might be identified automatically based upon characteristics of the associated issue 122. For example, the locations 702 might be identified based upon stack traces associated with the entry 312A. The locations 702 might also be identified based upon particular lines of source code in the software component 106 that were modified prior to the creation of the entry 312A.” (See Col. 16, lines 13-26)).
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Troutman into the teachings of Champlin, Gupta, and Turner because that would have provided technologies for investigating an unresolved software issue and for taking one or more corrective actions based upon the results of the investigation as suggested by Troutman (See Col. 2).
Regarding claim 6:
The rejection of claim 5 is incorporated, but Champlin Gupta, and Turner do not explicitly teach:
wherein automatically identifying the suggested operation comprises: identifying the suggested operation based on the location in the first code where the issue identifier is located.
However, Troutman discloses:
wherein automatically identifying a suggested operation comprises: identifying the suggested operation based on the location in the code where the issue identifier is located (FIGS. 6-7 and associated text, such as, “In other embodiments, the locations 702 associated with an entry 312A might be modified based upon the computed staleness score. For example, if the computed staleness score indicates that an entry 312A is no longer relevant, but the issue 122B still exists in the relevant branch 402, then the locations 702 might be modified to reflect another location, or locations, within the software component 106. A user might also be permitted an opportunity to specify and/or modify the locations 702.” (See Col. 17, lines 19-27)).
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Troutman into the teachings of Champlin, Gupta, and Turner because that would have provided technologies for investigating an unresolved software issue and for taking one or more corrective actions based upon the results of the investigation as suggested by Troutman (See Col. 2).
Regarding claim 7:
The rejection of claim 6 is incorporated, Champlin further discloses wherein automatically identifying the suggested operation comprises:
Identifying the second code in the issue-related data (“In another example, a developer may propose adding a method call to a third-party voice encoding and decoding module for the purposes of allowing voice annotations to a product's output, but the new tool may find using the NLP search that this third-party voice encoding and decoding module has caused failures in integration testing and field use on multiple occasions, and it may further find comments regarding a ‘work around’ to be to use another supplier's voice encoding and decoding module. As such, a text entry would be automatically entered into the relevant discussion thread, with links to both the potential problem comments and the potential work-around comments.” (See para [0054])); and
identifying the suggested operation further based on the second code (“In another example, a developer may propose adding a method call to a third-party voice encoding and decoding module for the purposes of allowing voice annotations to a product's output, but the new tool may find using the NLP search that this third-party voice encoding and decoding module has caused failures in integration testing and field use on multiple occasions, and it may further find comments regarding a ‘work around’ to be to use another supplier's voice encoding and decoding module. As such, a text entry would be automatically entered into the relevant discussion thread, with links to both the potential problem comments and the potential work-around comments.” (See para [0054])).
Regarding claim 8:
The rejection of claim 7 is incorporated, Champlin further discloses wherein identifying the suggested operation further based on the second code comprises:
comparing the second code to the first code in the code repository based on the location where the issue identifier is located to determine whether the [[suggested]] workaround is implemented [[as a workaround in the code]] in the code repository (“The output of the NLP-based bug pre-detection tool will be compared with models (102) generated by Machine Learning, as shown in FIG. 3. Please note that in this embodiment, it is assumed that training data (102) has been previously generated. As continued discussion happens around the requirement, or when the requirement itself is updated (300, 103, 301, 302), the new pre-detection tool will continuously send the new or revised content back through the tool and compare it against the trained models” (See para [0046]));
Regarding claim 9:
The rejection of claim 5 is incorporated, but Champlin, Gupta, and Turner do not explicitly teach:
wherein detecting a location comprises identifying a plurality of different locations in the first code in the code repository where the issue identifier is located and wherein automatically identifying the suggested operation comprises: generating, as the suggested operation, an indication that an operation should be performed at the plurality of different locations in the code.
However, Troutman discloses:
wherein detecting a location comprises identifying a plurality of different locations in the first code in the code repository where the issue identifier is located and wherein automatically identifying a suggested operation comprises: generating, as the suggested operation, an indication that an operation should be performed at the plurality of different locations in the code (FIGS. 6-7 and associated text, such as, “In other embodiments, the locations 702 associated with an entry 312A might be modified based upon the computed staleness score. For example, if the computed staleness score indicates that an entry 312A is no longer relevant, but the issue 122B still exists in the relevant branch 402, then the locations 702 might be modified to reflect another location, or locations, within the software component 106. A user might also be permitted an opportunity to specify and/or modify the locations 702.” (See Col. 17, lines 19-27)).
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Troutman into the teachings of Champlin, Gupta, and Turner because that would have provided technologies for investigating an unresolved software issue and for taking one or more corrective actions based upon the results of the investigation as suggested by Troutman (See Col. 2).
Regarding claim 11:
The rejection of claim 1 is incorporated, but Champlin, Gupta, and Turner do not explicitly teach:
wherein the issue tracking system exposes a status application programming interface (API) and wherein automatically obtaining the issue status comprises: calling the status API exposed by the issue tracking system.
However, Troutman discloses:
wherein the issue tracking system exposes a status application programming interface (API) and wherein automatically obtaining an issue status comprises: calling the status API exposed by the issue tracking system (“The changes 108 might also be ordered in the investigation recommendation 124 based upon their similarity with one another and/or based upon the similarity between the unresolved issue 122 and the resolved issues associated with the identified changes 108. As discussed above, the investigation recommendation 124 might be provided to a developer by way of an email message, a Web page, a suitable UI, an API call response, or in another manner. The developer can then examine the changes 108 identified in the investigation recommendation 124 as being possible resolutions to the unresolved issue 122.” (See Col. 9, lines 24-34”)
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Troutman into the teachings of Champlin, Gupta, and Turner because that would have provided technologies for investigating an unresolved software issue and for taking one or more corrective actions based upon the results of the investigation as suggested by Troutman (See Col. 2).
Regarding claim 12:
The rejection of claim 1 is incorporated, but Champlin, Gupta, and Turner do not explicitly teach:
wherein the issue tracking system comprises a web page with a status actuator that is actuatable on the web page to obtain the issue status, wherein the issue identifier comprises a reference to the web page, and wherein automatically obtaining the issue status comprises: accessing the web page based on the issue identifier; and actuating the status actuator on the web page.
However, Troutman discloses:
wherein the issue tracking system comprises a web page with a status actuator that is actuatable on the web page to obtain the issue status, wherein the issue identifier comprises a reference to the web page, and wherein automatically obtaining an issue status comprises: accessing the web page based on the issue identifier; and actuating the status actuator on the web page (“Once the similarity between the changes 108 that were made in order to resolve each previously resolved issue that is similar to the unresolved issue 122 has been determined, the issue investigation recommendation system 118 might identify and take one or more corrective actions based upon the identified changes 108. For example, and without limitation, the issue investigation system 118 might generate and provide a recommendation 124 that identifies the changes 108 that are similar to one another. The investigation recommendation 124 might be provided as an email message, by way of a Web page, or in another manner.” (See Col. 6, lines 35-45)).
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Troutman into the teachings of Champlin, Gupta, and Turner because that would have provided technologies for investigating an unresolved software issue and for taking one or more corrective actions based upon the results of the investigation as suggested by Troutman (See Col. 2).
Regarding claim 16:
The rejection of claim 14 is incorporated, but Champlin, Gupta, and Turner do not explicitly teach
wherein the suggestion engine comprises: an issue location list generator configured to generate a list of locations in the first code stored in the code repository where the issue identifier is located and to generate and output indicative of the issue, the issue status, and the list of locations.
However, Troutman discloses:
wherein the suggestion engine comprises: an issue location list generator configured to generate a list of locations in the code stored in the code repository where the issue identifier is located and to generate and output indicative of the issue, the issue status, and the list of locations (FIGS. 6-7 and associated text, such as, “The locations 702 refer to locations in the software component 106 that may be relevant to the associated issue 122. For example, and without limitation, the locations 702 might refer to one or more files within the software component 106, a line of source code, or a range of lines of source code within the software component 106. A user may be permitted to specify the locations 702, or the locations 702 might be identified automatically based upon characteristics of the associated issue 122. For example, the locations 702 might be identified based upon stack traces associated with the entry 312A. The locations 702 might also be identified based upon particular lines of source code in the software component 106 that were modified prior to the creation of the entry 312A.” (See Col. 16, lines 13-26)).
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Troutman into the teachings of Champlin, Gupta, and Turner because that would have provided technologies for investigating an unresolved software issue and for taking one or more corrective actions based upon the results of the investigation as suggested by Troutman (See Col. 2).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Lawler et al. ()Pub. No.: US 2025/0028626) discloses systems, methods and devices that intelligently identify run-time complications within a codebase and provide recommended solutions for the identified run-time complications. A behavioral model of the codebase is accessed that depicts a run-time behavior of the codebase. The behavioral model generated is then interrogated to predict run-time complications within the codebase. Recommended solutions are generated and provided in a user interface for resolving the run-time complications.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HANH THI MINH BUI whose telephone number is (571)270-1976. The examiner can normally be reached Monday - Friday: 7-3.
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, Hyung S. Sough can be reached on 571-272-6799. 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.
/HANH THI-MINH BUI/Primary Examiner, Art Unit 2192 February 9th, 2026