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 Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked.
As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph:
(A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
(B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
(C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function.
Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are:
“A device for data processing, configured for automated adaptation of at least one software test of a software, the device configured to:” in claim 8.
Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1 and 4-9 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite.
Claim 1, 8 and 9 recite:
ascertaining a deviation specification which indicates a difference between at least two versions of the software
ascertaining an error specification about an error that occurred during an execution of the software test of the software
It is unclear which version of the software is being tested to ascertain the error specification so for this reasoning claims 1, 8 and 9 are rejected.
Regarding claim 7, the limitation “continuous learning of a machine learning model” is unclear as whether the machine learning model is new ML model for every repeating execution of the evaluation or it is referring to the ML model of preceding claim. For examination purposes, the examiner considers the ML model is the model of preceding claim that would be continuous learning during repeating execution.
Regarding claims 4-6, these claims are also rejected for depending on the rejected claim 1 and do not cure the deficiency identified above.
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.
Claim(s) 1-9 is/are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Claim 8 is additionally rejected for software per se.
Claim(s) 1, 8 and 9 recite(s):
ascertaining a deviation specification which indicates a difference between at least two versions of the software;
ascertaining an error specification about an error that occurred during an execution of the software test of the software;
carrying out an evaluation of the deviation specification and the error specification with respect to a correlation of the error that has occurred and the difference between the versions of the software;
and generating an adaptation specification based on the carried out evaluation, wherein the adaptation specification specifies at least one item of information for adapting the software test to eliminate the error.
Step 1: are the claims to a process, machine, manufacture, or a composition of matter?
Yes. Claim 1 is a method
Yes. Claim 8 is a machine.
Yes. Claim 9 is a manufacture
Step 2A, Prong I; Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes: (an) abstract idea(s).
The limitation of "evaluation", as drafted in #3 above, under its broadest reasonable interpretation, covers performance of the mind, but for generic computer parts. That is, other than reciting "method for automated software tests", “device for data processing”, or “non-transitory computer-readable storage medium”, nothing in the claim element precludes the step from being performed on paper by a person.
Step 2A Prong II: Does the claim recite additional elements that integrate the judicial exception into a practical application?
No.
The "ascertain" limitations in #1 and #2 above, as claimed and under BRI, is an additional element that is insignificant extra-solution activity. For example, ascertaining a deviation specification or error specification in the context of this claim encompasses mere data gathering. See in the MPEP §§ 2106.05(g).
The adaptation limitation in #4 above. As claimed and under BRI, is an additional element that is mere instructions to apply an exception. For example, generating an adaptation specification in the context of this claim encompasses merely creating a suggestion based on the aforementioned evaluation. See in the MPEP §§2106.05(f).
Additionally, the claims recite the following additional element:
device for data processing
non-transitory computer readable storage medium
The element that is recited in the claims are stated at a high level of generality (i.e. as a generic processor performing a generic computer function) such that it amounts no more than mere instructions to apply the exception using generic computer component. See the MPEP §§ 2106.05(f). Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limitation on practicing the abstract idea(s).
Step 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception?
No.
The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception because mere instructions to apply an exception using generic computer components cannot provide the inventive step.
Additionally, with regards to #1 and #2 above, per MPEP 2106.05(d)(ll), the courts have recognized the following computer function(s) as well-understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity:
Storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-93;
Claim(s) 2 recite(s):
wherein the at least two versions of the software include a current version of the software and a previous version of the software, wherein the error occurred during execution of the software test in the current version of the software
Step 1: are the claims to a process, machine, manufacture, or a composition of matter?
Yes. Claim 2 is a method
Step 2A, Prong I; Does the claim recite an abstract idea, law of nature, or natural phenomenon?
No.
Step 2A Prong II: Does the claim recite additional elements that integrate the judicial exception into a practical application?
No.
The limitation in #5 above, as claimed and under BRI, is an additional element that is insignificant extra-solution activity. For example, it is defining what versions are being provided in the deviation specification and in the context of this claim this encompasses mere data gathering. See in the MPEP §§ 2106.05(g).
Step 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception?
No.
The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception because mere instructions to apply an exception using generic computer components cannot provide the inventive step.
Additionally, with regards to #5 above, per MPEP 2106.05(d)(ll), the courts have recognized the following computer function(s) as well-understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity:
Storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-93;
Claim(s) 3 recite(s):
wherein the adaptation of the software test is carried out at least partially automatically based on the adaptation specification, wherein the adaptation includes removing and/or adapting at least one test case and/or code of the software test which refers to elements of the current version of the software that have been removed from the previous version of the software, wherein the elements include to-be-tested functions and/or elements of a user interface and/or objects of the software
Step 1: are the claims to a process, machine, manufacture, or a composition of matter?
Yes. Claim 4 is a method
Step 2A, Prong I; Does the claim recite an abstract idea, law of nature, or natural phenomenon?
No.
Step 2A Prong II: Does the claim recite additional elements that integrate the judicial exception into a practical application?
No.
The limitation in #6 above. As claimed and under BRI, is an additional element that is mere instructions to apply an exception. For example, adaptation being carried out automatically and changing test cases in the context of this claim encompasses merely configuring software. See in the MPEP §§2106.05(f).
Step 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception?
No.
The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception because mere instructions to apply an exception using generic computer components cannot provide the inventive step.
Claim(s) 4 recite(s):
wherein a classification of the difference between the at least two versions is carried out in the evaluation, for detecting code changes in the software that are likely to cause the error to occur
Step 1: are the claims to a process, machine, manufacture, or a composition of matter?
Yes. Claim 4 is a method
Step 2A, Prong I; Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes: (an) abstract idea(s).
The limitation, as drafted in #7 above, under its broadest reasonable interpretation, covers performance of the mind, but for general computer parts. That is, other than reciting the method is automated, nothing in the claim element precludes the step from performed by a person.
Step 2A Prong II: Does the claim recite additional elements that integrate the judicial exception into a practical application?
No.
Step 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception?
No.
The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception because mere instructions to apply an exception using generic computer components cannot provide the inventive step.
Claim(s) 5 recite(s):
wherein the evaluation and/or the generation of the adaptation specification is based at least in part on machine learning
Step 1: are the claims to a process, machine, manufacture, or a composition of matter?
Yes. Claim 5 is a method.
Step 2A, Prong I; Does the claim recite an abstract idea, law of nature, or natural phenomenon?
No
Step 2A Prong II: Does the claim recite additional elements that integrate the judicial exception into a practical application?
No.
The limitation in #8 above. As claimed and under BRI, is an additional element that is mere instructions to apply an exception. For example, the evaluation and adaptation being partly based on machine-learning in the context of this claim encompasses merely using machine learning to complete a task. See in the MPEP §§2106.05(f).
Step 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception?
No.
The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception because mere instructions to apply an exception using generic computer components cannot provide the inventive step.
Claim(s) 6 recite(s):
ascertaining training data, wherein the training data include example deviation specifications about a respective difference between at least two versions of the software and example error specifications about a respective error during execution of the software test of the software, and wherein the training data include annotation data that provide reference adaptation specifications which specify the at least one item of information for adapting the software test to resolve the respective error;
initializing weights of the machine learning model;
and carrying out a training process to optimize the weights of the machine learning model based on the training data, wherein the training process uses a loss function that minimizes a difference between data generated by the machine learning model and the annotation data.
Step 1: are the claims to a process, machine, manufacture, or a composition of matter?
Yes. Claim 6 is a method
Step 2A, Prong I; Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes: (an) abstract idea(s).
The limitation of "carrying out a training process", as drafted in #11 above, under its broadest reasonable interpretation, covers performance of the mind, but for general computer parts. That is, other than reciting the process is handled by machine-learning, nothing in the claim element precludes the step from performed on paper by a person.
Step 2A Prong II: Does the claim recite additional elements that integrate the judicial exception into a practical application?
No.
The ascertaining limitations in #9 above, as claimed and under BRI, is an additional element that is insignificant extra-solution activity. For example, ascertaining training data in the context of this claim encompasses mere data gathering. See in the MPEP §§ 2106.05(g).
The initializing limitation in #10 above. As claimed and under BRI, is an additional element that is mere instructions to apply an exception. For example, initializing in the context of this claim encompasses merely setting values for variables. See in the MPEP §§2106.05(f).
Additionally, the claims recite the following additional element:
machine learning model is provided, wherein the machine learning model is trained ... for the evaluating and/or the generating of the adaptation specification
The element that is recited in the claims are stated at a high level of generality (i.e. as a generic processor performing a generic computer function) such that it amounts no more than mere instructions to apply the exception using generic computer component. See the MPEP §§ 2106.05(f). Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limitation on practicing the abstract idea(s).
Step 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception?
No.
The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception because mere instructions to apply an exception using generic computer components cannot provide the inventive step.
Additionally, with regards to #9 above, per MPEP 2106.05(d)(ll), the courts have recognized the following computer function(s) as well-understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity:
Storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-93;
Claim(s) 7 recite(s):
wherein continuous learning of a machine learning model is provided during repeated execution of the evaluation and/or the generation, based on the basis of the thereby ascertained deviation and error specifications, retraining in which the ascertained deviation and error specifications are incorporated into the training data, and/or by incremental learning.
Step 1: are the claims to a process, machine, manufacture, or a composition of matter?
Yes. Claim 7 is a method
Step 2A, Prong I; Does the claim recite an abstract idea, law of nature, or natural phenomenon?
No.
Step 2A Prong II: Does the claim recite additional elements that integrate the judicial exception into a practical application?
No.
The limitation in #12 above. As claimed and under BRI, is an additional element that is mere instructions to apply an exception. For example, continuous learning of a machine learning model in the context of this claim encompasses merely providing data to an MLM. See in the MPEP §§2106.05(f).
Step 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception?
No.
The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception because mere instructions to apply an exception using generic computer components cannot provide the inventive step.
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.
Claim(s) 1-2, 4-5, and 8-9 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 20130151906 A1 (hereinafter referred to as D'Alterio) in view of US 20200019493 A1 (hereinafter referred to as Ramakrishna).
Regarding claim 1, D’Alterio teaches:
A method for automated adaptation of at least one software test of a software, comprising the following steps ([Abstract], D'Alterio shows a plurality of test cases each one for exercising a set of corresponding exercised software components. A corresponding method comprises the steps of receiving an indication of each failed test case whose current execution has failed):
ascertaining a deviation specification which indicates a difference between at least two versions of the software (Fig. 3 (335) Para. [83] D'Alterio shows whenever any current execution of the test is to be analyzed, the change resolver 330 determines the software components and the test cases that have been changed by comparing the files of the repositories 325 and 320; the change resolver 330 saves an indication of these changed software components into a repository 335 and an indication of these changed test cases into a repository 340);
ascertaining an error specification about an error that occurred during an execution of the software test of the software (Fig. 3 (360) Para. [27], D'Alterio shows the execution of the test case has failed (and a result of this failed test case is set to a failed value) when an unexpected outcome is obtained (i.e., the actual outcome does not match the expected outcome, the software product has crashed, it has entered an endless loop or any other improper operating condition). A result of (the execution of) the test is defined by the results of all its test cases (for example, listed in a corresponding test report);
carrying out an evaluation of the deviation specification and the error specification with respect to a correlation of the error that has occurred and the difference between the versions of the software (Para. [83-87] D'Alterio shows the change resolver 330 saves an indication of these changed software components into a repository 335 and an indication of these changed test cases into a repository 340. the test case resolver 345 saves an indication of these exercised software components of each test case into a repository 350. A preparation engine 355 accesses the repository 335 and the repository 350. the preparation engine 355 determines whether it is suspect (i.e., the corresponding suspicion attribute has the suspect value) by comparing its exercised software components (from the repository 350) with the changed software components (from the repository 335); the preparation engine 355 saves an indication of the suspect failed test cases into a repository 360. A correlation engine 365 accesses the repository 340 and the repository 360; moreover, it receives the current result 315c and extracts the result of the previous execution of the test (denoted as previous result 315p) from the repository 315. The correlation engine 365 classifies the failed test cases (from the current result 315c) according to their suspicion attributes (determined from the repository 360), change attributes (determined from the repository 340) and regression attributes (determined from the previous result 315p). The correlation engine 365 then generates a test report 370 by updating the current result 315c accordingly (for example, by assigning the color of the corresponding class to each failed test case);
D’Alterio does not disclose:
and generating an adaptation specification based on the carried out evaluation, wherein the adaptation specification specifies at least one item of information for adapting the software test to eliminate the error.
However, in the analogous art of automated software testing, Ramakrishna teaches:
and generating an adaptation specification based on the carried out evaluation, wherein the adaptation specification specifies at least one item of information for adapting the software test to eliminate the error (Para. [30], Ramakrishna shows the software deployment platform may update the new software code based on the functional test results by making one or more changes to the new software code based on the functional test results, by adding one or more new features to the new software code based on the functional test results, by removing one or more features from the new software code based on the functional test results, and/or the like. In this way, the software deployment platform may provide defect-free software code Para. [48], Ramakrishna shows the software deployment platform may automatically link all software code changes and defects to an original software change request Para. [24], Ramakrishna shows the software deployment platform may modify the new software code based on the code review results by making one or more changes to the new software code, by adding one or more new features to the new software code, by removing one or more features from the new software code, and/or the like. In some implementations, the code review may enable the software deployment platform to improve a quality and a maintainability (e.g., a readability, uniformity, understandability, and/or the like) of the new software code, to identify defects in the new software code, to comply with quality assurance guidelines, and/or the like).
Therefore, 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 teachings of Ramakrishna into the teachings of D’Alterio to add the feature of generating an adaptation specification based on the carried-out evaluation, wherein the adaptation specification specifies at least one item of information for adapting the software test to eliminate the error. The modification would have been obvious as one of ordinary skill in the art would be motivated in order to deploy a defect-free software to the target system (Ramakrishna [0030]).
Regarding claim 2, D'Alterio as modified teaches claim 1 as cited above and:
wherein the at least two versions of the software include a current version of the software and a previous version of the software, wherein the error occurred during execution of the software test in the current version of the software ([Abstract], D'Alterio shows analyzing a test of a software program comprising a plurality of software components, the test comprising a plurality of test cases each one for exercising a set of corresponding exercised software components. A corresponding method comprises the steps of receiving an indication of each failed test case whose current execution has failed, retrieving a suspicion attribute of each failed test case indicative of a change to the corresponding exercised software components since a previous execution of the failed test case, retrieving a change attribute of each failed test case indicative of a change to the failed test case since the previous execution thereof).
Regarding claim 4, D'Alterio as modified teaches claim 1 as cited above and:
wherein a classification of the difference between the at least two versions is carried out in the evaluation (Para. [121] D'Alterio shows the suspicion attribute is indicative of a change to the corresponding exercised software components since a previous execution of the failed test case), for detecting code changes in the software that are likely to cause the error to occur (Para. [123] D'Alterio shows retrieving a suspicion attribute of each failed test case comprises the following operations. An indication is retrieved of the exercised software components of each failed test case. An indication is retrieved of a set of changed software components of the software product that have been changed since the previous execution of the failed test cases. The suspicion attribute of each failed test case is determined according to a comparison between the corresponding exercised software components and the changed software components).
Regarding claim 5, D'Alterio as modified teaches claim 1 as cited above. D’Alterio does not disclose:
wherein the evaluation and/or the generation of the adaptation specification is based at least in part on machine learning
However, in the analogous art of automated software testing, Ramakrishna teaches:
wherein the evaluation and/or the generation of the adaptation specification is based at least in part on machine learning (Para. [18], Ramakrishna shows the software deployment platform may process the software code and the software code change, with a model (e.g., a machine learning model)).
Therefore, 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 teachings of D'Alterio as modified into the teachings of Ramakrishna to implement the generation of the adaptation specification and evaluation based in part on machine learning. The modification would have been obvious as one of ordinary skill in the art would be motivated to detect patterns and/or trends undetectable to human analysts or systems using less complex techniques (Ramakrishna, Para. [22]).
With regards to claim 8, it is a machine claim having similar limitations as cited in claim 1 above. Thus, claim 8 is also rejected under the same rationale as cited in the rejection of claim 1 above.
With regards to claim 9, it is a non-transitory computer product claim having similar limitations as cited in claim 1 above. Thus, claim 9 is also rejected under the same rationale as cited in the rejection of claim 1 above.
Claim(s) 3 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 20130151906 A1 (hereinafter referred to as D'Alterio) and US 20200019493 A1 (hereinafter referred to as Ramakrishna) in further view of US 20200371903 A1 (hereinafter referred to as Straub).
With regards to claim 3, D’Alterio as modified teaches claim 2 as cited above. D’Alterio as modified does not disclose:
wherein the adaptation of the software test is carried out at least partially automatically based on the adaptation specification, wherein the adaptation includes removing and/or adapting at least one test case and/or code of the software test which refers to elements of the current version of the software that have been removed from the previous version of the software, wherein the elements include to-be-tested functions and/or elements of a user interface and/or objects of the software.
However, in an analogous art to the claimed invention in automated software testing, Straub teaches:
wherein the adaptation of the software test is carried out at least partially automatically based on the adaptation specification, wherein the adaptation includes removing and/or adapting at least one test case and/or code of the software test which refers to elements of the current version of the software that have been removed from the previous version of the software, wherein the elements include to-be-tested functions and/or elements of a user interface and/or objects of the software (Para. [6], Straub shows automatically generating, deploying, modifying, and monitoring software tests and testing flows employed to test software applications. As described in more detail herein, one or more signals may be accepted to initiate generation of and vary software application tests and testing flows based on several criteria including monitoring a software application process flows processing one or more defined input and output tests to determine which parts of the software application are being tested, which parts of the software application are not being tested).
Claim(s) 6-7 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 20130151906 A1 (hereinafter referred to as D'Alterio) and US 20200019493 A1 (hereinafter referred to as Ramakrishna) in further view of US 20220091968 A1 (hereinafter referred to as Kumar).
Regarding claim 6, D’Alterio as modified teaches claim 5 as cited above. D’Alterio as modified does not teach:
wherein, a machine learning model is provided, wherein the machine learning model is trained by the following steps for the evaluating and/or the generating of the adaptation specification: ascertaining training data, wherein the training data include example deviation specifications about a respective difference between at least two versions of the software and example error specifications about a respective error during execution of the software test of the software, and wherein the training data include annotation data that provide reference adaptation specifications which specify the at least one item of information for adapting the software test to resolve the respective error; initializing weights of the machine learning model; and carrying out a training process to optimize the weights of the machine learning model based on the training data, wherein the training process uses a loss function that minimizes a difference between data generated by the machine learning model and the annotation data
However, in the analogous art of automated software testing, Ramakrishna teaches:
wherein, a machine learning model is provided, wherein the machine learning model is trained by the following steps for the evaluating and/or the generating of the adaptation specification (Para. [18], Ramakrishna shows the software deployment platform may process the software code and the software code change, with a model (e.g., a machine learning model)): ascertaining training data, wherein the training data include example deviation specifications about a respective difference between at least two versions of the software (Para. [19], Ramakrishna shows the software deployment platform may separate the historical software code change information into a training set, a validation set, a test set, and/or the like. In some implementations, the software deployment platform may train the machine learning model using, for example, an unsupervised training procedure and based on the training set of the historical software code change information) and example error specifications about a respective error during execution of the software test of the software (Para. [48], Ramakrishna shows the software deployment platform may automatically link all software code changes and defects to an original software change request), initializing weights of the machine learning model; and carrying out a training process to optimize the weights of the machine learning model based on the training data, wherein the training process uses a loss function that minimizes a difference between data generated by the machine learning model(Para. [20] Ramakrishna shows the software deployment platform may use a logistic regression classification technique to determine a categorical outcome (e.g., that the historical software code change information indicates that particular tasks are recommended for particular software code changes). Additionally, or alternatively, the software deployment platform may use a naïve Bayesian classifier technique. In this case, the software deployment platform may perform binary recursive partitioning to split the historical software code change information into partitions and/or branches, and use the partitions and/or branches to perform predictions (e.g., that the historical software code change information indicates that particular tasks are recommended for particular software code changes). Based on using recursive partitioning, the software deployment platform may reduce utilization of computing resources relative to manual, linear sorting and analysis of data points, thereby enabling use of thousands, millions, or billions of data points to train the machine learning model, which may result in a more accurate model than using fewer data points. Examiner notes that to use the logistic regression technique or others, initializing weight (setting parameters is inherent, even if it includes default values)).
Ramakrishna does not implicitly disclose:
and wherein the training data include annotation data that provide reference adaptation specifications which specify the at least one item of information for adapting the software test to resolve the respective error;
However, in an analogous art of automated software testing, Kumar teaches:
and wherein the training data include annotation data that provide reference adaptation specifications which specify the at least one item of information for adapting the software test to resolve the respective error (Para. [53], Kumar shows Test Cases 700 and Test Data 750 can be in human-readable form and allows Tester 1200 to review and provide feedback to the system. The corrected test case and test data information is provided back to the ML Model 300 for future reference and training the ML Model 300).
Therefore, 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 teachings of D'Alterio as modified and Ramakrishna into the teachings of Kumar to implement a machine learning model that is trained for the evaluating and/or the generating of the adaptation specification and give annotated reference data for additional training data. The modification would have been obvious as one of ordinary skill in the art would be motivated for better results going forward (Kumar, Para. [53]).
Regarding claim 7, D'Alterio as modified teaches claim 6 as cited above. D'Alterio does not disclose:
wherein continuous learning of a machine learning model is provided during repeated execution of the evaluation and/or the generation, based on the basis of the thereby ascertained deviation and error specifications, retraining in which the ascertained deviation and error specifications are incorporated into the training data, and/or by incremental learning
However, in the analogous art of automated software testing, Ramakrishna teaches:
wherein continuous learning of a machine learning model is provided during repeated execution of the evaluation and/or the generation, based on the basis of the thereby ascertained deviation and error specifications, retraining in which the ascertained deviation and error specifications are incorporated into the training data, and/or by incremental learning (Para. [48], Ramakrishna shows the software deployment platform may automatically link all software code changes and defects to an original software change request. Para. [19], Ramakrishna shows the software deployment platform may train the machine learning model using, for example, an unsupervised training procedure and based on the training set of the historical software code change information. Para. [56]. Ramakrishna shows the software deployment platform may provide automatic defect creation. In such implementations, the software deployment platform may capture test execution results, may create defects for failed test scripts, and may search for a next sequence of steps for passing test scripts).
Therefore, 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 teachings of D'Alterio as modified into the teachings of Ramakrishna to implement continuous learning for a machine learning model based on the ascertained error and deviation specifications, which the deviation and error specifications are incorporated into the training data. The modification would have been obvious as one of ordinary skill in the art would be motivated to enable the use of thousands, millions, or billions of data points to train the machine learning model, which may result in a more accurate model than using fewer data points (Ramakrishna, Para. [20]).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US-20230251960-A1 (Sharma et Al.) – This art teaches using machine learning techniques with weights and loss functions to manage software testing configuration
US-20150370685-A1 (Heymann et Al.) – This art teaches using software tests on current and previous versions of software to identify where problematic code changes exist
US 20240303184 A1 (Liu et Al.) – This art teaches using machine learning to generate additional software tests using a repository of source code changes
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ZEERICK A MALIK whose telephone number is (571)272-8110. The examiner can normally be reached Mon-Thurs, 7-5.
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, Chat Do can be reached at (571) 272-3721. 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.
/Z.A.M./Examiner, Art Unit 2193
/Chat C Do/Supervisory Patent Examiner, Art Unit 2193