DETAILED ACTION
This action is in response to claims filed 10 February 2023 for application 18108354 filed 10 February 2023. Currently claims 1-20 are pending.
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 .
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Natarajan (AI-Generated Test Automation for Autonomous Software Verification: Enhancing Quality Assurance Through AI-Driven Testing) in view of Ma et al. (Test Selection for Deep Learning Systems).
Regarding claims 1, 11 and 16, Natarajan discloses:
A method, comprising:
detecting, by one or more processing devices, custom goals of a specified … application (“Test coverage, execution speed, accuracy, defect detection rate, and resource utilization are some of the important metrics used to assess the effectiveness of AI-Generated Test Automation for Autonomous Software Verification. Execution Speed (ms) establishes efficiency, whereas Test Coverage (%) gauges the scope of the software evaluated. Defect Detection Rate (%) assesses how well AI detects errors. Resource Utilisation (CPU & Memory Usage in MB) evaluates computational efficiency, whereas Accuracy (%) guarantees accurate test findings. By increasing accuracy, decreasing execution time, and improving fault identification, a combined AI-driven methodology performs better than individual techniques and guarantees a strong and intelligent verification framework.” P96 §3.4);
determining, by the one or more processing devices, relative importance of a plurality of performance categories for the specified machine learning application, based on the custom goals of the specified … application (“Test coverage, execution speed, accuracy, defect detection rate, and resource utilization are some of the important metrics used to assess the effectiveness of AI-Generated Test Automation for Autonomous Software Verification. Execution Speed (ms) establishes efficiency, whereas Test Coverage (%) gauges the scope of the software evaluated. Defect Detection Rate (%) assesses how well AI detects errors. Resource Utilisation (CPU & Memory Usage in MB) evaluates computational efficiency, whereas Accuracy (%) guarantees accurate test findings. By increasing accuracy, decreasing execution time, and improving fault identification, a combined AI-driven methodology performs better than individual techniques and guarantees a strong and intelligent verification framework.” P96 §3.4, “Extract functional requirements using NLP
Generate test cases T_m using ML-based coverage function
Evaluate redundancy and optimize the test set” p85 Algorithm 1; note: optimization determines relative importance);
generating, by the one or more processing devices, automated machine learning model tests based on the determined relative importance of the plurality of performance categories for the specified … application (“While ML creates optimised test cases with minimum redundancy and good coverage, NLP extracts software requirements for test case generation. AI executes test cases during test execution and defect detection, comparing observed and expected behavior and highlighting differences that exceed a threshold 𝛿 δ. When making decisions, AI makes recommendations for debugging if faults exceed a certain threshold; if not, the software is authorized for deployment.” P96 ¶1); and
performing, by the one or more processing devices, validation testing of a … model based on the automated machine learning model tests (“While ML creates optimised test cases with minimum redundancy and good coverage, NLP extracts software requirements for test case generation. AI executes test cases during test execution and defect detection, comparing observed and expected behavior and highlighting differences that exceed a threshold 𝛿 δ. When making decisions, AI makes recommendations for debugging if faults exceed a certain threshold; if not, the software is authorized for deployment.” P96 ¶1).
Natarajan discloses automated ML testing of software, however, does not explicitly disclose validation and testing of: a machine learning application;
performing, by the one or more processing devices, data analysis of the custom goals for the specified machine learning application to identify data stretches for testing the specified machine learning application;
generating, by the one or more processing devices, automated machine learning model tests in accordance with difficulty levels permissible by the determined relative importance of the plurality of performance categories for the specified machine learning application and the identified data stretches.
Ma teaches: a machine learning application (“In this article, we focus on the problem of selecting test inputs. In DL, test input selection addresses a practical concern: which subset of unlabelled data one should label to discover faults in DL models.” P13:2 ¶4, the deep learning (DL) model is a machine learning application);
performing, by the one or more processing devices, data analysis of the custom goals for the specified machine learning application to identify data stretches for testing the specified machine learning application (“We postulate that effective metrics should select inputs that are more likely to trigger misclassifications by the model. Experience has shown that classification mistakes are incorrectly learned properties that happen due to overlapping and closely located regions of the feature space. Therefore, the cases residing between the learned categories and their boundaries are the most likely to be the incorrectly learned ones. In view of this, rather than aiming at the coverage of specific neurons [27] or test data diversity [14], we aim at the data with properties that are close to the model boundaries. In other words, we argue that test selection should be directed towards the boundaries of the learned classes.” P13:2 ¶6);
generating, by the one or more processing devices, automated machine learning model tests in accordance with difficulty levels permissible by the determined relative importance of the plurality of performance categories for the specified machine learning application and the identified data stretches (“We postulate that effective metrics should select inputs that are more likely to trigger misclassifications by the model. Experience has shown that classification mistakes are incorrectly learned properties that happen due to overlapping and closely located regions of the feature space. Therefore, the cases residing between the learned categories and their boundaries are the most likely to be the incorrectly learned ones. In view of this, rather than aiming at the coverage of specific neurons [27] or test data diversity [14], we aim at the data with properties that are close to the model boundaries. In other words, we argue that test selection should be directed towards the boundaries of the learned classes.” P13:2 ¶6).
Natarajan and Ma are in the same field of endeavor of testing and validation and are analogous. Natarajan discloses custom automated testing and validation of applications. Ma teaches identifying difficult classification areas and testing with particular data. It would have been obvious to one of ordinary skill in the art before the effective filing date to modify the testing and validation of applications as disclosed by Natarajan to utilize the known ML testing processes as taught by Ma to yield the predictable results of ML application automated testing and validation.
Regarding claims 2, 12 and 17, Natarajan discloses: The method of claim 1, further comprising:
generating supplemental test data for the automated machine learning model tests,
wherein the performing the validation testing of the machine learning model is further based on the generated supplemental test data, and the automated machine learning model tests are for the machine learning model for powering the specified …
application (“Extract functional requirements using NLP
Generate test cases T_m using ML-based coverage function
Evaluate redundancy and optimize the test set” p95 Algorithm 1).
Ma teaches: a machine learning application (“In this article, we focus on the problem of selecting test inputs. In DL, test input selection addresses a practical concern: which subset of unlabelled data one should label to discover faults in DL models.” P13:2 ¶4, the deep learning (DL) model is a machine learning application).
Regarding claims 3, 13 and 18, Natarajan discloses:
The method of claim 1, wherein the determining the relative importance of the plurality of performance categories based on the custom goals of the specified … application comprises determining the relative importance for the specified … application, based on the custom goals of the specified … application, of at least two of: accuracy, runtime, memory consumption, security, robustness, explainability, and monitoring capability, of the specified machine learning application (“Test coverage, execution speed, accuracy, defect detection rate, and resource utilization are some of the important metrics used to assess the effectiveness of AI-Generated Test Automation for Autonomous Software Verification. Execution Speed (ms) establishes efficiency, whereas Test Coverage (%) gauges the scope of the software evaluated. Defect Detection Rate (%) assesses how well AI detects errors. Resource Utilisation (CPU & Memory Usage in MB) evaluates computational efficiency, whereas Accuracy (%) guarantees accurate test findings. By increasing accuracy, decreasing execution time, and improving fault identification, a combined AI-driven methodology performs better than individual techniques and guarantees a strong and intelligent verification framework.” P96 §3.4, note: execution speed is runtime, test coverage is monitoring capability, detection rate is robustness, accuracy is accuracy).
Ma teaches: a machine learning application (“In this article, we focus on the problem of selecting test inputs. In DL, test input selection addresses a practical concern: which subset of unlabelled data one should label to discover faults in DL models.” P13:2 ¶4, the deep learning (DL) model is a machine learning application).
Regarding claims 4, 14 and 19, Natarajan discloses:
The method of claim 1, wherein the generating the automated machine learning model tests for the machine learning model based on the determined relative importance of the plurality of performance categories for the specified … application comprises generating a template block for each of the performance categories (“Initialize AI model (ML, NLP, RL)
Set parameters for test case optimization (coverage, redundancy)
For each module m in S:
Extract functional requirements using NLP
Generate test cases T_m using ML-based coverage function
Evaluate redundancy and optimize the test set
” Algorithm 1, Note: modules are templates for each of the models).
Ma teaches: a machine learning application (“In this article, we focus on the problem of selecting test inputs. In DL, test input selection addresses a practical concern: which subset of unlabelled data one should label to discover faults in DL models.” P13:2 ¶4, the deep learning (DL) model is a machine learning application).
Regarding claims 5, 15 and 20, Natarajan discloses:
The method of claim 1, further comprising cutting off tests for each of one or more of the performance categories, respectively based on the determined relative importance for the one or more of the performance categories (“Reinforcement learning for test optimization uses an agent to select and prioritize test cases based on their effectiveness. The agent learns through trial and error, optimizing test coverage and resource allocation while minimizing time and effort in the testing process.” P5 §3.3).
Regarding claim 6, Natarajan discloses: The method of claim 1, further comprising performing polarity analysis of the custom goals to identify conflicting interests in the performance categories (“Evaluate redundancy and optimize the test set” Algorithm 1, Note: optimization is interpreted as the polarity analysis as it must identify and balance conflicting goals such as execution time and accuracy).
Regarding claim 7, Natarajan discloses: The method of claim 1, wherein the generating the automated machine learning model tests further comprises dynamically creating test and validation flow (“Extract functional requirements using NLP
Generate test cases T_m using ML-based coverage function
Evaluate redundancy and optimize the test set” p95 Algorithm 1).
Natarajan does not explicitly disclose, however, Ma teaches: including corner and edge case tests (“To effectively test the DL system, we need to identify corner cases that challenge the learned proper ties. In essence, DL system testing should focus on identifying the incorrectly learned properties and lead to data that can make the systems deviate from their expected behaviour.” P13:2 ¶2).
Regarding claim 8, Natarajan discloses: The method of claim 1, further comprising generating reports detailing the validation testing of the machine learning model based on the automated machine learning model tests (“Return Optimized test suite and defect analysis report” p96 Algorithm 1).
Regarding claim 9, Natarajan discloses: The method of claim 1, further comprising customizing sets of test and validation modules to align with specific custom performance requirements and the custom goals of the specified … powered by the machine learning model, and customizing quality assurance (QA) validation flow for specific custom needs and performance goals of the ML model (Fig 2 “The Quality Expert creates and maintains predictions by storing settings and quality data in a Model Warehouse. Through AI-driven automation, the framework seeks to enhance quality assurance and expedite autonomous software testing.”).
Ma teaches: a machine learning application (“In this article, we focus on the problem of selecting test inputs. In DL, test input selection addresses a practical concern: which subset of unlabelled data one should label to discover faults in DL models.” P13:2 ¶4, the deep learning (DL) model is a machine learning application).
Regarding claim 10, Natarajan discloses: The method of claim 1, wherein the method is provided as a service in a cloud environment (“Natarajan and Kethu (2019) [31] offer an optimised cloud manufacturing framework that incorporates advanced task scheduling approaches to improve robotics and automation. The study focusses on cloud-based solutions for scalable and efficient manufacturing, which use AI-driven resource allocation to optimise workflows. Task scheduling algorithms provide real-time adaptation, increasing industrial productivity while lowering costs. Robotics integration promotes flexible automation, hence increasing industrial production. This paradigm highlights how cloud-based smart manufacturing may improve agility, cost-effectiveness, and intelligent automation in current production processes.” P92 ¶4).
Natarajan discloses that it is known in the art to use cloud-based systems in machine learning optimization and automation. It would have been obvious to one of ordinary skill in the art before the effective filing date to modify the automated model validation system taught by Natarajan and Ma with the known cloud-based automation taught by the prior art identified by Natarajan to yield predictable results.
Response to Arguments
Applicant’s arguments with respect to claim(s) 1-20 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ERIC NILSSON whose telephone number is (571)272-5246. The examiner can normally be reached M-F: 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, James Trujillo can be reached at (571)-272-3677. 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.
/ERIC NILSSON/ Primary Examiner, Art Unit 2151