DETAILED ACTION
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 .
Claims 1-20 are pending in this office action.
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.
Claims 1-5, 8-14, 16-19 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang et al US20240256423A1 in view of Baldassarre et al US20210303381A1 and Acharyya et al US20200409819A1.
As per claim 1, Zhang discloses a computer implemented method for autonomous software repair:
[0019]“The innovators hypothesized that with the advent of large language models, such as the OpenAI Codex model, it would be possible to automatically fix such mistakes taking advantage of the richness of information in the education domain”;
the method comprising: detecting a first error associated with an application executing in a region:
[0041]“Upon execution of the syntactic phase code transformer 306 by the processor set, the syntax checker identifies 1112 a syntax error 904 in a first version 210 of a source code 210, 130”;
repairing the first error associated with the application comprising: identifying a source of the first error within the application:
[0042] “ Upon execution of the semantic phase code transformer 310 by the processor set, the semantic prompt generator receives 1118 a semantic prompt dataset 910 which includes a syntactically correct version of the source code which contains a semantic error 914”;
generating a solution by inputting the source of the first error to a large language model (LLM):
[0041] “the code chunk including the syntax error, the syntactic prompt generator receives 1114 the code chunk and produces 1116 a syntactic prompt 906 which contains at least the syntax error, and the model interface receives 1008 the syntactic prompt and produces 1010 at least a portion of the second version of the source code in which the syntax error has been repaired.’;
and implementing the solution via the LLM: and determining that the application is repaired by: executing the application:
[0042] “the semantic prompt generator receives 1118 a semantic prompt dataset 910 which includes a syntactically correct version of the source code which contains a semantic error 914, the semantic prompt dataset also including a test suite 704, the semantic prompt generator produces 1006 multiple semantic prompts which permute the semantic prompt dataset, the model interface receives 1008 the semantic prompts and produces 1010 candidate versions of the source code, the candidate validity tester selects 1012 a candidate version which is syntactically correct and which also passes the test suite, and the semantic phase code transformer produces 1014 the selected candidate version which the system includes in the second version of the source code in which the semantic error has been mitigated.”;
But not explicitly:
generating, by the application, an output:
and comparing the output to a predefined value:
and deploying the application in the region in response to determining that the application is repaired.
Baldassarre discloses:
generating, by the application, an output; and comparing the output to a predefined value:
[0046] “ The repository 230 also shares data with modules configured to track diagnostic events along with activities undertaken to resolve any issues that triggered the diagnostic event to determine key performance metrics. For example, a key performance metric may include a mean time to failure (MTTF) that may be used to predict future changes to the health or performance of the hardware components (e.g., by predicting a future value of a health metric or performance metric) or software components. The predicted metrics may be compared to predefined thresholds such as manufacture specifications or service level agreement (SLA) requirements (e.g., quality of service requirements, service level objectives, or other requirements). “;
It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Baldassare into teachings of Zhang to provide a metric to grade the efficiency of the automated or semi-automated remediation system. A metric of false positives and false negatives over a particular duration for a particular number of components can help to define the grading of this system. Furthermore, to allow change to be made to settings and parameters of the devices, provide for new software and/or bug fixes to be loaded on the devices, and provide firmware upgrades and lifecycle management of the devices.[Baldassarre 0040].
But not explicitly:
and deploying the application in the region in response to determining that the application is repaired.
Acharyya Discloses:
and deploying the application in the region in response to determining that the application is repaired:
[0051] “Upon successful build (and optional test) by DevOps pipeline 122, the new software is sent to the computing devices in the designated deployment(s) for upgrade. Optionally, one or more stakeholders are automatically notified of the automated repair activity. In this way, an automated end-to-end solution for identification and repair of software defects, followed by automatic deployment of repaired software is provided. This enables quicker response times, and can result in an overall improved customer experience for end users.”;
It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Acharyya into teachings of Zhang and Baldassarre to use a continuous integration system to push upgrades to the deployments. In this way, a portion of the runtime errors encountered can be identified, fixed, and deployed without human intervention. This enables quicker response times, and can result in an overall improved customer experience for end users.[ Acharyya 0051].
As per claim 2, the rejection of claim 1 is incorporated and furthermore Zhang do does explicitly discloses:
wherein identifying the source of the first error comprises identifying an error message within a log file associated with the application.
Baldassarre discloses:
wherein identifying the source of the first error comprises identifying an error message within a log file associated with the application.
[0008]“as well as automatically analyze, via an artificial intelligence engine, the collected log data to identify specific events that have occurred during the first period of time. The instructions further cause the processor to automatically calculate, based on the collected log data, a plurality of performance metrics, and automatically correlate, via a complex event processor, each event with a performance metric to identify potential fault occurrence patterns.”;
It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Baldassare into teachings of Zhang and Acharyya to provide a metric to grade the efficiency of the automated or semi-automated remediation system. A metric of false positives and false negatives over a particular duration for a particular number of components can help to define the grading of this system. Furthermore, to allow change to be made to settings and parameters of the devices, provide for new software and/or bug fixes to be loaded on the devices, and provide firmware upgrades and lifecycle management of the devices.[Baldassarre 0040].
As per claim 3, the rejection of claim 1 is incorporated and furthermore Zhang do does explicitly discloses:
wherein identifying the source of the first error comprises determining a telemetry value associated with the application is greater than a predefined threshold;
Baldassare discloses:
wherein identifying the source of the first error comprises determining a telemetry value associated with the application is greater than a predefined threshold;
[0046]”For example, a key performance metric may include a mean time to failure (MTTF) that may be used to predict future changes to the health or performance of the hardware components (e.g., by predicting a future value of a health metric or performance metric) or software components. The predicted metrics may be compared to predefined thresholds such as manufacture specifications or service level agreement (SLA) requirements (e.g., quality of service requirements, service level objectives, or other requirements). The point in time when the predicted metric and the predefined thresholds intersect represents predicted component failure, and the distance to this time is the mean time to failure (MTTF), or mean time to fault.’
It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Baldassare into teachings of Zhang and Acharyya to provide a metric to grade the efficiency of the automated or semi-automated remediation system. A metric of false positives and false negatives over a particular duration for a particular number of components can help to define the grading of this system. Furthermore, to allow change to be made to settings and parameters of the devices, provide for new software and/or bug fixes to be loaded on the devices, and provide firmware upgrades and lifecycle management of the devices.[Baldassarre 0040].
As per claim 4, the rejection of claim 1 is incorporated and furthermore Zhang discloses:
wherein the first error is associated with source code of the application and generating the solution further comprises generating new source code by the LLM, wherein the new source code is designed to repair the first error:
[0041] “the code chunk including the syntax error, the syntactic prompt generator receives 1114 the code chunk and produces 1116 a syntactic prompt 906 which contains at least the syntax error, and the model interface receives 1008 the syntactic prompt and produces 1010 at least a portion of the second version of the source code in which the syntax error has been repaired.’;
As per claim 5, the rejection of claim 1 is incorporated and furthermore Zhang do does explicitly discloses:
wherein the first error is associated with a configuration value of the application and implementing the solution further comprises updating the configuration value.
Baldassarre discloses:
wherein the first error is associated with a configuration value of the application and implementing the solution further comprises updating the configuration value.
[0053]“The CEP module obtains the input from the MTTF/MTBF scoring unit, as well as the artificial intelligence engine and stack metadata to determine a corrective action. For example, the CEP module can be configured to determine the cause and effect, and in response triggers an action to auto-scale (where scaling factor as S.sub.1) consumers to accelerate the queue process. In this case, scale is calculated as (S.sub.1*n)—(the aggregation job), where n is the factor to be calculated, based on a total maximum that the system can scale, time of the operation, and budget constraints for a specific deployment. An alert can be conveyed to the Operations team for further monitoring and governance process”;
[0045]“In some embodiments which include the semantic phase code transformer, the second version 212 of the source code in which the semantic error has been mitigated 204 has improved performance over the syntactically correct version of the source code which contains a semantic error, the improved performance measured with respect to at least one of the following performance metrics 314: execution time, volatile memory usage, nonvolatile memory usage, bandwidth usage, or electric power consumption.
It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Baldassare into teachings of Zhang and Acharyya to provide a metric to grade the efficiency of the automated or semi-automated remediation system. A metric of false positives and false negatives over a particular duration for a particular number of components can help to define the grading of this system. Furthermore, to allow change to be made to settings and parameters of the devices, provide for new software and/or bug fixes to be loaded on the devices, and provide firmware upgrades and lifecycle management of the devices.[Baldassarre 0040].
As per claim 8, the rejection of claim 1 is incorporated and furthermore Zhang does not explicitly disclose:
detecting a second error associated with the application; and repairing the second error before the first error, based on a comparison of an effect of the first error and an effect of the second error on the application.
Baldassare discloses:
detecting a second error associated with the application; and repairing the second error before the first error, based on a comparison of an effect of the first error and an effect of the second error on the application.
[0070]“A second example incorporates a prioritization model or feature. In this example, if E1 causes F1, the F1 may be categorized as a lower, second priority (P2), while F2 caused by E2 is categorized as a relatively lower, third priority (P3). The same chain continues for time ti to tn. In this case, the continuous co-relation artificial intelligence engine determines that E2, E3, . . . E.sub.n can collectively cause a fault F.sub.n which can be categorized as a highest first priority (P1). Thus, the chain of resolutions (R.sub.1 . . . R.sub.n) can actually solve a fault F.sub.n marked as P1 caused by Event E.sub.n in the chain (E.sub.1+E.sub.2 . . . +E.sub.n). In some embodiments, subsequent instances of this fault occurrence pattern can address P1 by a reversed resolution of the events.
It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Baldassare into teachings of Zhang and Acharyya to provide a metric to grade the efficiency of the automated or semi-automated remediation system. A metric of false positives and false negatives over a particular duration for a particular number of components can help to define the grading of this system. Furthermore, to allow change to be made to settings and parameters of the devices, provide for new software and/or bug fixes to be loaded on the devices, and provide firmware upgrades and lifecycle management of the devices. [Baldassarre 0040].
As per claim 9, the rejection of claim 1 is incorporated and furthermore Zhang discloses:
wherein the predefined value is at least one of: (i) an expected output defined by a function unit test, (ii) CPU usage, (iii) memory usage, or (iv) network usage.
[0115] “Some embodiments use the instructor's test suite (consisting of inputs and expected outputs) as the semantic oracle. A program has been repaired if it produces the expected outputs for the given inputs.”
Claims 10, 11, 12, 13, 14, 16 are the system claim corresponding to method claims 1, 2, 3, 4, 5, 8 and rejected under the same rational set forth in connection with the rejection of claims 1, 2, 3, 4, 5, 8 above.
Claims 17, 18, 19 are the non-transitory computer-readable device corresponding to method claims 1, 3, 4 and rejected under the same rational set forth in connection with the rejection of claims 1, 3, 4 above.
Claims 6, 15 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang et al US20240256423A1 in view of Baldassarre et al US20210303381A1 and further in view of Acharyya et al US20200409819A1 and Ye at al US20210182031A1.
As per claim 6, the rejection of claim 1 is incorporated and furthermore Zhang discloses:
wherein generating the solution further comprises: generating, by the LLM, a summary of the first error:
[0054]“ This enables quicker response times, and can result in an overall improved customer experience for end users.fication 800 further includes a description section 804. The description section 804 may contain a variety of different fields to describe additional issues found and/or actions taken by the SDDACS 102”;
But not explicitly:
converting the summary to a summary vector;
calculating a similarity value between the summary vector and a stored error vector;
and outputting the solution linked with the stored error vector, wherein the stored error vector linked to the solution has a highest similarity value to the summary vector.
Ye discloses:
converting the summary to a summary vector:
[0028] “ In some examples, the cluster 320 clusters the code based on a threshold (e.g., a level of semantic similarity between the codes). In examples disclosed herein, semantic similarity refers to the level of similarity between a first code and a second code (e.g., similarity of features extracted from the first code and the second code, mapping code into a vector space of natural language for comparison, etc.)”;
calculating a similarity value between the summary vector and a stored error vector:
[0045] “For example, when a reference copy is obtained based on comprehensive testing using the tester 325 (FIG. 3), the software bug detector 230 uses a code similarity system (e.g., machine inferred code similarity (MISIM), Aroma, code2vec, etc.) that scores the semantic similarity of two code snippets to scan the entire codebase and collect a set of code snippets that have high similarity scores with the reference copy (e.g., as shown in Phase 2-1 of FIG. 6B)”;
and outputting the solution linked with the stored error vector, wherein the stored error vector linked to the solution has a highest similarity value to the summary vector.
[0052] “In some examples, if the reference copy comes from clustering (reference copy 636 of FIG. 6A), code snippets are selected from the code cluster 632 of FIG. 6A to obtain an example pair of reference copy and semantically similar code 676 of Phase 2-2 of FIG. 6B. An output code snippet should be highly similar to the corresponding reference copy (e.g., meet a predefined similarity threshold), whether the code snippet is retrieved using similar code retrieval of Phase 2-1 655 or similar code retrieval of Phase 2-2 670.
It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Ye into teachings of Zhang, Baldassarre and Acharyya to discover potential bugs that are difficult for traditional rule-based approaches to identify. Furthermore, to identify security-related bugs and to prevent a user with malicious intents to bypass access controls to obtain unauthorized access privileges.[Ye 0014].
Claim 15 is the system claim corresponding to method claim 6 and rejected under the same rational set forth in connection with the rejection of claim 6 above.
Claim 20 is the non-transitory computer-readable device corresponding to method claim 6 and rejected under the same rational set forth in connection with the rejection of claim 6 above.
Claim 7 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang et al US20240256423A1 in view of Baldassarre et al US20210303381A1 and further in view of Acharyya et al US20200409819A1 and Caushi at al US20180081670A1.
As per claim 7, the rejection of claim 1 is incorporated and furthermore Zhang does not explicitly disclose:
detecting a second error associated with a second instance of the application executing in a second region; determining the first region has a higher priority than the second region; and in response to the determination, deploying the application to the first region prior to the second region.
Caushi discloses:
detecting a second error associated with a second instance of the application executing in a second region
[0039]”The software updates 220 may include changes to the software or settings of the vehicle 102 to address an issue with the current software or settings, or to provide improved functionality to the current software”;
determining the first region has a higher priority than the second region; and in response to the determination, deploying the application to the first region prior to the second region.
[0061]“In some cases, the priority data 221 may be keyed to region identifier in addition to priority. For instance, in some cases the priority of a software update 220 may vary according to the region in which the vehicle 102 is located. In an example, a software update 220 may indicate an update to provide new features to customers (e.g., priority 4) in one region, but may be mandated by a government for inclusion in the vehicle 102 in another region, and may therefore in that other region the software update 220 may be a mandatory priority 1 update.”;
It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Caushi into teachings of Zhang, Baldassarre and Acharyya to schedule software update to vehicles at a time according to the priority and a geographic region of the vehicle. Furthermore, to perform updates to the vehicles based on the priorities set for the vehicle, to perform immediate updates of high priority or preferred priority updates and perform later scheduled updates of lower priority updates. [Caushi 0020].
Pertinent arts:
US20250217269A1:
Utilizing a Large Language Model (LLM), the log parser is able to discern and extract relevant information from the data. This includes error codes, the corresponding error messages, and definitions, as well as the timestamps marking when errors occurred.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRAHIM BOURZIK whose telephone number is (571)270-7155. The examiner can normally be reached Monday-Friday (8-4:30).
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 Y Mui can be reached at 571-270-2738. 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.
/BRAHIM BOURZIK/ Examiner, Art Unit 2191 /WEI Y MUI/Supervisory Patent Examiner, Art Unit 2191