Prosecution Insights
Last updated: July 15, 2026
Application No. 18/450,179

Automatic Unit Test Generation Based On Execution Traces

Final Rejection §101§103
Filed
Aug 15, 2023
Examiner
WHEATON, BRADFORD F
Art Unit
2193
Tech Center
2100 — Computer Architecture & Software
Assignee
ORACLE INTERNATIONAL Corporation
OA Round
2 (Final)
61%
Grant Probability
Moderate
3-4
OA Rounds
1y 0m
Est. Remaining
73%
With Interview

Examiner Intelligence

Grants 61% of resolved cases
61%
Career Allowance Rate
237 granted / 386 resolved
+6.4% vs TC avg
Moderate +12% lift
Without
With
+11.9%
Interview Lift
resolved cases with interview
Typical timeline
3y 11m
Avg Prosecution
21 currently pending
Career history
416
Total Applications
across all art units

Statute-Specific Performance

§101
3.4%
-36.6% vs TC avg
§103
96.0%
+56.0% vs TC avg
§102
0.1%
-39.9% vs TC avg
§112
0.3%
-39.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 386 resolved cases

Office Action

§101 §103
DETAILED ACTION Claims 1-25 are pending in the current application. 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 . Response to Arguments Applicant's arguments filed 12/24/25 have been fully considered but they are not persuasive. Applicant argues that (Argument 1; Remarks pg. 10 line 8) that the claims do not recite a mental process, (Argument 2; Remarks pg. 12 lines 1-2) the claims recite features that reflect improvements to the functioning of a computer and thus integrate the abstract idea into a practical application, (Argument 3; Remarks pg. 13 lines 15-20) the claim recite techniques that are not well understood routine or convention and thus significantly more than the abstract idea, (Argument 4; Remarks pg. 14 lines 11-21) that the cited prior art of Mola does not teach generating test code, (Argument 5; Remarks pg. 16 lines 10-11) the test code generation of Nupponen is not based on trace data, (Argument 6; Remarks pg. 17 lines 11-14 19-23) no teachings or suggestion to incorporate the model based testing generation of Nupponen into trace data based emulation of Mola, (Argument 7; Remarks pg. 17 lines 25-29) the modification to Mola with Nupponen would change the principle operation of Mola, (Argument 8; Remarks pg. 18 line 7) the Nupponen in non-analogous art, (Argument 9; Remarks pg. 19 lines 9-10) impermissible hindsight to modify Mola with the teachings of Nupponen With respect to applicant’s argument examiner respectfully disagrees. As to argument 1, first not ever element of a claim has to be an abstract idea mental process for the claim to be viewed as direct to an abstract idea as long as the other additional elements of the claim are not significantly more than the abstract idea and do not integrate the abstract idea into a practical application. The steps of the claim that are viewed as directed to abstract idea mental process are “traversing trace data to identify (a) a target method that was previously executed and traced, (b) a first set of one or more input values that were received by the target method for execution of the target method, and (c) a first return value that was returned by the target method; based on the trace data, generating test code for testing the target method, the test code being configured to: invoke the target method using a first set of one or more objects (a) being of types corresponding to the one or more input values and (b) comprising the one or more input values; compare a second return value, to be returned by the target method in response to invoking the target method, to the first return value in the trace data” and “comparing the second return value to the first return value comprised in the trace data to determine whether the second return value matches the first return value; determining test results based on the comparing operation; wherein the first return value, comprised in the trace data, was generated by invocation of a first version of the target method, and wherein the second return value was generated by invocation of a second version of the target method” where the other elements of the claim are viewed as the additional elements and not ones that are significantly more or integrate the abstract idea into a practical application, with full details seen in the 101 rejection below, where it is also noted that the implementation of the abstract idea element in a computer does not bring the claims to allowability and still viewed as an abstract idea. As to argument 2, while a technical improvement/solution to a technical problem can is a way to show that additional elements of the claims are one that can integrate an abstract idea mental process element into a practical application and thus overcome the rejection, however, it is noted the claims need to cover a particular solution to the problem or the particular way to achieve the desired outcome instead of merely claiming the idea of a solution or outcome. Where the claims here would seem to be directed to the idea of a solution as the language of the claims does not cover at least the specifics of the test code configured to reconstruct typed input objects corresponding to the traced input values as the claims recite “based on the trace data, generating test code for testing the target method, the test code being configured to: invoke the target method using a first set of one or more objects (a) being of types corresponding to the one or more input values and (b) comprising the one or more input values” which can be viewed as the test code being generated based on the trace data, without the specifics of how/what information is used for the test code to be based on and does not include anything specific about reconstructing typed input objects, just that the method invoked by the written/generated test code uses types corresponding to types of input values determined from the trace data. It is also noted that at the level recited the traversing trace data limitation, the based on the trace data, generating test code limitation, the comparing the second return value to the first return value limitation and the determining test results limitation are also viewed as abstract idea mental process elements and not additional elements that can be used to integrate the abstract idea into a practical application. As to argument 3, it is unclear what additional element in not well understood, routing or conventional. As seen above and in full detail in the 101 rejection below the traversing trace data limitation, the based on the trace data, generating test code limitation and the comparing the second return value to the first return value limitation as abstract idea mental process elements not additional elements. While the executing the generated test code is not an abstract idea mental process element this executing limitation fails to meaningfully limit the claim because it does not require any particular application of the recited “executing” and is at best the equivalent of merely adding the words “apply it” as it looks to simply execute the generated test code and performed the functionality included in the generated test code. Thus the claim does not appear to recite something that is not well understood routine or conventional and thus still viewed as being directed to an abstract idea mental process. As to argument 4, in response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986) as the teachings of Mola are not cited to teach the specifics of the generation of test code but the teaching of Nupponen are recited to teach the generation of test code. As to argument 5, the teachings of Nupponen [0016] lines 1-21 and [0038] lines 1-4 are recited to show the generating test code as it shows being able to generate test code for specific application where the generated test code is configured based on model information of the software application and supplied input information, where the model information is used to define data values and their associated constraints for the generated test while the specific term based on trace data is not used in Nupponen the software application model that is used is described in [0019] of Nupponen states that the model can be fully generated from various assets or by hand and a type of formalization of the software application specifications that it describes how the software application actually works, the expected usage of the application the expected external behavior where the model, which can be viewed as type of trace data of the method/application where based on received input values and the returned output for those values for the method can be viewed as a type of model for that method, where the trace data showing the received input and returned output value for the method is seen disclosed in the teaching of Mola [0043] lines 1-6, [0048] lines 1-13, [0049] lines 1-6 and [0056] lines 1-11 which is not argued against thus together these references are viewed as showing the test code generation based on trace data. As to argument 6 in response to applicant’s argument that there is no teaching, suggestion, or motivation to combine the references, the examiner recognizes that obviousness may be established by combining or modifying the teachings of the prior art to produce the claimed invention where there is some teaching, suggestion, or motivation to do so found either in the references themselves or in the knowledge generally available to one of ordinary skill in the art. See In re Fine, 837 F.2d 1071, 5 USPQ2d 1596 (Fed. Cir. 1988), In re Jones, 958 F.2d 347, 21 USPQ2d 1941 (Fed. Cir. 1992), and KSR International Co. v. Teleflex, Inc., 550 U.S. 398, 82 USPQ2d 1385 (2007). In this case, the teachings of Nupponen and Mola are both directed to software testing with Mola testing software based on the trace data and emulating the function for testing/comparison and Nupponen the use of software model information to generated test templates used to generate test code for the software application where Nupponen discloses [0015] lines 7-41 through the use of model data to generate test templates for generating test code for testing an application it enhances the generation of test for the software application to address the complexity/impracticality of generating test code for different versions of the software application thus a type of improvement in performance through the additional testing feature and reason for motivation to modify the teachings of Mola to include the teachings of Nupponen. As to argument 7, to combination of Mola with Nupponen is not viewed as rendering Mola unsatisfactory for applicant’s claimed Mola’s intended purpose as for one Mola’s intended purpose can be viewed as emulating a function to compare/test the function/method also the including of Nupponen does not render the emulation testing of application inoperable or prevents it from being performed as the trace data is still there and available for use in emulation testing of the functionality by incorporating the teachings of Nupponen Mola gains additional functionality by also being able to use trace data to generate test code for testing application function as well but no specific reason given why the incorporation of Nupponen using application model data to generate test code and using that test code to test application function would prevent emulation testing of function as well thus viewed the Mola would still be able to perform its applicant’s stated principal operation even when modified. As to argument 8, in response to applicant's argument that Nupponen is nonanalogous art, it has been held that a prior art reference must either be in the field of the inventor’s endeavor or, if not, then be reasonably pertinent to the particular problem with which the inventor was concerned, in order to be relied upon as a basis for rejection of the claimed invention. See In re Oetiker, 977 F.2d 1443, 24 USPQ2d 1443 (Fed. Cir. 1992). In this case, applicant’s argued claim field of being an endeavor of execution trace based generation of executable unit test for validating behavioral consistency across software version is viewed as the particular focus within the given field of software testing, where the field of endeavor is ‘not limited to the specific point of novelty, the narrowest possible conception of the field, or the particular focus within a given field and many of the argued elements/characterization are not seen in the claim language and when viewed that way claims are still viewed as being directed to the field of software testing which are viewed as the same field of endeavor of Nupponen as seen [0016] lines 1-21 and [0038] lines 1-4 show the use of application model to generate test template for testing the application as thus viewed as the same field of endeavor and thus relevant prior art. As to argument 9, in response to applicant's argument that the examiner's conclusion of obviousness is based upon improper hindsight reasoning, it must be recognized that any judgment on obviousness is in a sense necessarily a reconstruction based upon hindsight reasoning. But so long as it takes into account only knowledge which was within the level of ordinary skill at the time the claimed invention was made, and does not include knowledge gleaned only from the applicant's disclosure, such a reconstruction is proper. See In re McLaughlin, 443 F.2d 1392, 170 USPQ 209 (CCPA 1971). Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1-25 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Examiner has evaluated the claims under the framework provided in the 2019 Patent Eligibility Guidance published in the Federal Register 01/07/2019 and has provided such analysis below. Step 1: Claims 1-25 are claims that are directed to a process, machine, manufacture or composition of matter. In order to evaluate the Step 2A inquiry “Is the claim directed to a law of nature, a natural phenomenon or an abstract idea?” we must determine, at Step 2A Prong 1, whether the claim recites a law of nature, a natural phenomenon or an abstract idea and further whether the claim recites additional elements that integrate the judicial exception into a practical application. Step 2A Prong 1: Claims 1, 13 and 25: The limitation of “traversing trace data to identify (a) a target method that was previously executed and traced, (b) a first set of one or more input values that were received by the target method for execution of the target method, and (c) a first return value that was returned by the target method; based on the trace data, generating test code for testing the target method, the test code being configured to: invoke the target method using a first set of one or more objects (a) being of types corresponding to the one or more input values and (b) comprising the one or more input values; compare a second return value, to be returned by the target method in response to invoking the target method, to the first return value in the trace data” and “comparing the second return value to the first return value comprised in the trace data to determine whether the second return value matches the first return value; determining test results based on the comparing operation; wherein the first return value, comprised in the trace data, was generated by invocation of a first version of the target method, and wherein the second return value was generated by invocation of a second version of the target method,” as drafted, are process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, recite the abstract idea of a mental process. The limitations encompass a human mind carrying out the function through observation, evaluation judgment and /or opinion, or even with the aid of pen and paper. Thus, this limitation recites and falls within the “Mental Processes” grouping of abstract ideas under Prong 1. Step 2A Prong 2: Claims 1, 13 and 25: The abstract idea is not integrated into a practical application. In particular the claims recite the following additional element “A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising:” and “A system comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the system to perform:”, are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using generic computer, and/or mere computer components, which does not integrate the abstract idea into a practical application. Further, the claims recite additional elements of “executing the test code, wherein executing the test code comprises: invoking the target method using the first set of one or more objects as arguments;” fails to meaningfully limit the claim because it does not require any particular application of the recited “executing” and “invoking: and is at best the equivalent of merely adding the words “apply it” to the judicial exception, which does not integrate the abstract idea into a practical application. Additionally the claim recites additional elements of “receiving the second return value returned by the target method in response to invoking the target method” and “presenting or storing the test results” do nothing more than add insignificant extra solution activity to the judicial exception of merely receiving or transmitting data and storing information in memory which does not integrate the abstract idea into a practical application. Accordingly, the additional elements do not integrate the recited judicial exception into a practical application and the claim is therefore directed to the judicial exception. See MPEP 2106.05(g). Step 2B: Claims 1, 13 and 25: The claims do not include additional elements, alone or in combination that are sufficient to amount to significantly more than the abstract idea. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of “A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising:” and “A system comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the system to perform:” amount to no more than mere instructions, or generic computer/computer components to carry out the exception. Further, the additional elements of “executing the test code, wherein executing the test code comprises: invoking the target method using the first set of one or more objects as arguments;” does not require any particular application of the recited executing and invoking and is at best the equivalent of merely adding the words “apply it” to the judicial exception. Mere instructions to apply an exception cannot provide an inventive concept. Additionally, the additional elements of “receiving the second return value returned by the target method in response to invoking the target method” and “presenting or storing the test results” is merely insignificant extra-solution activity information of receiving or transmitting data and storing data in memory which does not integrate the abstract idea into a practical application. Further, the insignificant extra solution data activity is also WURC, see MPEP 2106.05(d)(II), where “the courts have recognized the following computer functions 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” i. receiving or transmitting data over a network and ii. storing and retrieving information in memory where the receiving the second return limitation is akin to receiving data and the presenting or storing limitation is akin to storing data. The recitation of generic computer instruction and computer components to apply the judicial exception, and merely receiving and storing data and mere instruction to apply an exception do not amount to significantly more, thus, cannot provide an inventive concept. Accordingly, the claims are not patent eligible under 35 USC 101. Having concluded analysis within the provided framework, claims 1, 13 and 26 do not recite patent eligible subject matter under 35 USC 101. With regard to claims 2 and 14 they recite additional elements of “wherein the test code is further configured to: instantiate the first set of one or more objects prior to invoking the target method,” which does not require any particular application of the recited “instantiate” and is at best the equivalent of merely adding the words “apply it” to the judicial exception. Mere instructions to apply an exception cannot provide an inventive concept. Moreover, claims 2 and 14 do not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claims 2 and 14 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claims 2 and 14 do not recite patent eligible subject matter under 35 USC 101. With regard to claims 3 and 15 they recite additional abstract idea elements of “wherein the second return value is compared to the object of the type corresponding to the first return value” is an additional mental process under prong 1. Further, the claims recite additional elements of “wherein the test code is further configured to: instantiate an object of a type corresponding to the first return value,” which does not require any particular application of the recited “instantiate” and is at best the equivalent of merely adding the words “apply it” to the judicial exception. Mere instructions to apply an exception cannot provide an inventive concept. Moreover, claims 3 and 15 do not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claims 3 and 15 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claims 3 and 15 do not recite patent eligible subject matter under 35 USC 101. With regard to claims 4 and 16 they recite additional elements of “wherein presenting the test results includes indicating whether the second version of the target method passed or failed the test,” which is merely insignificant extra-solution activity information of presenting/displaying information which does not integrate the abstract idea into a practical application. Further, the insignificant extra solution data activity is also WURC, see MPEP 2106.05(d)(II), where “the courts have recognized the following computer functions 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” i. presenting offers and gathering statistics where the presenting the test result limitation is akin to the presenting data offers. Moreover, claims 4 and 16 do not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claims 4 and 16 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claims 4 and 16 do not recite patent eligible subject matter under 35 USC 101. With regard to claims 5 and 17 they recite additional elements of “wherein presenting the test results includes indicating (a) that the second return value is greater than the first return value or (b) that the second return value is lower than the first return value,” which is merely insignificant extra-solution activity information of presenting/displaying information which does not integrate the abstract idea into a practical application. Further, the insignificant extra solution data activity is also WURC, see MPEP 2106.05(d)(II), where “the courts have recognized the following computer functions 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” i. presenting offers and gathering statistics where the presenting the test result limitation is akin to the presenting data offers. Moreover, claims 5 and 17 do not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claims 5 and 17 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claims 5 and 17 do not recite patent eligible subject matter under 35 USC 101. With regard to claims 6 and 18 they recite additional elements of “wherein the operations further comprise creating the first set of one or more objects using a constructor method, a setter method or a builder class” which is merely a field of use/technological environment which does not integrate the judicial exception into a practical application Moreover, claims 6 and 18 do not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claims 6 and 18 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claims 6 and 18 do not recite patent eligible subject matter under 35 USC 101. With regard to claims 7 and 19 they recite additional abstract idea elements of “wherein the operations further comprise constructing the first set of one or more objects using the first set of one or more input values serialized in the trace data” is an additional mental process under prong 1. Further, the claims recite additional elements of “wherein the first set of one or more input values and the first return value is serialized in the trace data,” which does not require any particular application of the recited “serialized” and is at best the equivalent of merely adding the words “apply it” to the judicial exception. Mere instructions to apply an exception cannot provide an inventive concept. Moreover, claims 7 and 19 do not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claims 7 and 19 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claims 7 and 19 do not recite patent eligible subject matter under 35 USC 101. With regard to claims 8 and 20 they recite additional abstract idea elements of “ traversing trace data to identify (a) a first method that was invoked by the target method, (b) a second set of one or more input values that were received by the first method for execution of the first method, and (c) a second return value that was returned by the first method to the target method; wherein the test code is further configured to: create a proxy object, wherein invoking the first method, on the proxy object, using the second set of one or more input values results in returning the second return value” is an additional mental process under prong 1. Moreover, claims 8 and 20 do not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claims 8 and 20 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claims 8 and 20 do not recite patent eligible subject matter under 35 USC 101. With regard to claims 9 and 21 they recite additional abstract idea elements of “wherein the operations further comprise: capturing the trace data, wherein capturing the trace data comprises: traversing source code to identify the target method;” is an additional mental process under prong 1. Further, the claims recite additional elements of “loading a class, including the target method, into a runtime environment, wherein loading the class comprises instrumenting byte code to trace the target method; capturing the trace data during invocation of the target method; and serializing … the trace data,” which does not require any particular application of the recited “loading,” “instrumenting”, “capturing” and “serialized” and is at best the equivalent of merely adding the words “apply it” to the judicial exception. Mere instructions to apply an exception cannot provide an inventive concept. Further, the claims recite additional elements of “storing the trace data” which is merely insignificant extra-solution activity information of storing information which does not integrate the abstract idea into a practical application. Further, the insignificant extra solution data activity is also WURC, see MPEP 2106.05(d)(II), where “the courts have recognized the following computer functions 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” i. storing information in memory where the storing the data limitation is akin storing the information in memory. Moreover, claims 9 and 21 do not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claims 9 and 21 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claims 9 and 21 do not recite patent eligible subject matter under 35 USC 101. With regard to claims 10 and 22 they recite additional elements of “wherein storing the trace data includes storing the trace data in a trace file on disk” which is merely a field of use/technological environment which does not integrate the judicial exception into a practical application Moreover, claims 10 and 22 do not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claims 10 and 22 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claims 10 and 22 do not recite patent eligible subject matter under 35 USC 101. With regard to claims 11 and 23 they recite additional elements of “wherein instrumenting the byte code to trace the target method comprises: inserting instructions in the byte code (a) immediately before any executable code of the target method to capture a first state of the first set of one or more input values, and (b) immediately before a return command of the target method to capture the first return value” which is merely a field of use/technological environment which does not integrate the judicial exception into a practical application Moreover, claims 11 and 23 do not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claims 11 and 23 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claims 11 and 23 do not recite patent eligible subject matter under 35 USC 101. With regard to claims 12 and 24 they recite additional abstract idea elements of “wherein the operations further comprise generating the trace data at least by: (a) traversing source code to identify an annotation corresponding to the target method” is an additional mental process under prong 1. Further, the claims recite additional elements of “configuring generation of the trace data to trace the target method based on the annotation corresponding to the target method” which does not require any particular application of the recited “configuring” and is at best the equivalent of merely adding the words “apply it” to the judicial exception. Mere instructions to apply an exception cannot provide an inventive concept. Moreover, claims 12 and 24 do not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claims 12 and 24 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claims 12 and 24 do not recite patent eligible subject matter under 35 USC 101. 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, 13-17 and 25 are rejected under 35 U.S.C. 103 as being unpatentable over Mola (Pub. No. US 2021/0049090 A1), and further in view of Nupponen (Pub. No. US 2019/0179734 A1. As to claims 1 and 13, Mola discloses a non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising: traversing trace data to identify (a) a target method that was previously executed and traced, (b) a first set of one or more input values that were received by the target method for execution of the target method, and (c) a first return value that was returned by the target method (Mola [0043] lines 1-6, [0048] lines 1-13, [0049] lines 1-6 and [0056] lines 1-11; which shows being able to analyze/traverse the data accessed, including trace data accessed, and can identify the function/method that are part of that trace data, viewed as target function/method and the associated input data for the function/method and the output/return data for that function/method); test code being configured to: invoke the target method using a first set of one or more objects (b) comprising the one or more input values (Mola [0005] lines 1-9 and [0066] lines 1-14; which shows being able to use emulation component to invoke/execute the function/method determined from obtained and analyzed trace information and steering/directing the function execution based on provided input data determined from trace analysis input data, thus viewed as using objects that comprise the one or more input values where the results of the emulation of the function is being used in comparison and thus acting as a type of testing); compare a second return value, to be returned by the target method in response to invoking the target method, to the first return value in the trace data (Mola [0005] lines 1-9, [0041] lines 1-14 and [0072] lines 1-7; which shows being able to compare the output/return values generated by the target function during tracing, viewed as the first return value in the trace data, and the output/return generated by the replay/emulation/testing); wherein executing the test code comprises: invoking the target method using the first set of one or more objects as arguments (Mola [0066] lines 1-14; which shows being able to use emulation component to invoke/execute the function/method determined from obtained and analyzed trace information and steering/directing the function execution based on provided input data determined from trace analysis input data, thus viewed as the first set of one or more objects as input argument values where the results of the emulation of the function is being used in comparison and thus acting as a type of testing); receiving the second return value returned by the target method in response to invoking the target method (Mola [0005] lines 1-9, [0041] lines 1-14 and [0072] lines 1-7; which shows being able to compare the output/return values generated by the target function during tracing, viewed as the first return value in the trace data, and the output/return generated by the replay/emulation/testing thus viewed as receiving the second return value returned/output by the target method in response to invoking/executing the target method during emulation/testing); comparing the second return value to the first return value comprised in the trace data to determine whether the second return value matches the first return value (Mola [0005] lines 1-9 and [0072] lines 1-10; which shows being able to compare the return/output for the emulation execution of the function/method, viewed as the second return value, to the first return/output value of the function determined from the trace data and can determine any differences between the two values and thus determine in the two values match as well); determining test results based on the comparing operation (Mola [0005] lines 1-9 and [0072] lines 1-10; which shows based on the comparison of the operations being able to determine that the substitution of load information in the emulation execution had an effect, viewed as a type of determined test result); presenting or storing the test results (Mola [0076] lines 4-10; which shows an output component that is able to output/present and differences between the traced function/method output and the emulated execution function/method output thus viewed as outputting/presenting the type of test results). Mola does not specifically disclose the specifics of based on the trace data, generating test code for testing the target method, the test code being configured to: invoke the target method using a first set of one or more objects (a) being of types corresponding to the one or more input values and (b) comprising the one or more input values; executing the test code, wherein executing the test code comprises: wherein the first return value, comprised in the trace data, was generated by invocation of a first version of the target method, and wherein the second return value was generated by invocation of a second version of the target method. However, Nupponen discloses the specifics of based on the trace data, generating test code for testing the target method, the test code being configured to (Nupponen [0016] lines 1-21 and [0038] lines 1-4; which shows being able to generate test code for specific application where the generated test code is configured based on model information of the software application and supplied input information, which in light of Mola teachings showing the emulation of code for testing/comparison using input and output/return information determined from the trace data can together be viewed as based on the trace data, generating test code for testing the target method ): invoke the target method using a first set of one or more objects (a) being of types corresponding to the one or more input values and (b) comprising the one or more input values (Nupponen [0016] lines 1-21 and [0024] lines 1-25; which shows as part of the test code generation for specific application with function based on analysis determine code constraints for the data values that are input into code including constraints for maintaining consistency between data types and thus together with the teachings of Mola above showing the specifics for testing/emulating target method function using determined data for trace analysis of code can together be viewed as showing that invoke the target method using a first set of one or more objects (a) being of types corresponding to the one or more input values and (b) comprising the one or more input values ); executing the test code, wherein executing the test code comprises (Nupponen [0016] lines 1-21, [0017] lines 1-4 and [0035] lines 1-13; which shows the executing of the generated test code based on the provided input data): wherein the first return value, comprised in the trace data, was generated by invocation of a first version of the target method, and wherein the second return value was generated by invocation of a second version of the target method (Nupponen [0014] lines 13-20, [0015] lines 1-13 and [0058] lines 1-17; which shows that the generated test code can include modified data values input into the code for the function/method thus viewed as a type of second version of the method, that in light of the teachings of Mola above showing the trace data for a function/method, viewed as the first version of the function/method and emulation/test of the function/method based on provided/determined input from trace that is about to output a second output for its testing/emulated information can together be viewed as showing the specifics of wherein the first return value, comprised in the trace data, was generated by invocation of a first version of the target method, and wherein the second return value was generated by invocation of a second version of the target method). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Nupponen for generating test code based on software analysis, into the software trace analysis and testing of Mola for the purpose of enhancing the generation of test for application code to impracticality when testing plurality of versions, as taught by Nupponen [0015] lines 7-41. As to claims 2 and 14, Mola does not specifically disclose, however, Nupponen discloses wherein the test code is further configured to: instantiate the first set of one or more objects prior to invoking the target method (Nupponen [0016] lines 1-21, [0017] lines 1-4, [0024] lines 1-25 and [0038] lines 19-36; which shows as part of the test code generation for specific application with function based on analysis determine code constraints for the data values that are input into code including constraints for maintaining consistency between data types used in forming of the test template for testing where based on the provided data input/production values, viewed as object input the test template with the associated input data is instantiated thus viewed that the associated object/input data is instantiated and thus viewed that once the test are generated from the template they are then performed/executed thus viewed that the first set of one or more objects are instantiated prior to invoking the target method during execution of the test). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Nupponen for generating test code based on software analysis, into the software trace analysis and testing of Mola for the purpose of enhancing the generation of test for application code to impracticality when testing plurality of versions, as taught by Nupponen [0015] lines 7-41. As to claim 3 and 15 Mola does not specifically disclose, however, Nupponen discloses wherein the test code is further configured to: instantiate an object of a type corresponding to the first return value, wherein the second return value is compared to the object of the type corresponding to the first return value (Nupponen [0016] lines 1-21 and [0024] lines 1-25; which shows as part of the test code generation for specific application with function based on analysis determine code constraints for the data values that are input into code including constraints for maintaining consistency between data types and thus together with the teachings of Mola above showing the specifics for testing/emulating target method function using determined data for trace analysis of code that can include return data information and comparing output/return information can together be viewed as showing that instantiate an object of a type corresponding to the first return value, wherein the second return value is compared to the object of the type corresponding to the first return value). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Nupponen for generating test code based on software analysis, into the software trace analysis and testing of Mola for the purpose of enhancing the generation of test for application code to impracticality when testing plurality of versions, as taught by Nupponen [0015] lines 7-41. As to claims 4 and 16 Mola discloses wherein presenting the test results includes indicating whether the second version of the target method passed or failed the test (Mola [0076] lines 4-10; which shows an output component that is able to output/present and differences between the traced function/method output and the emulated execution function/method output thus viewed as outputting/presenting the type of test results viewed as type of indication if the second version/emulated version passed or failed the test). As to claim 5 and 17 Mola discloses wherein presenting the test results includes indicating (a) that the second return value is greater than the first return value or (b) that the second return value is lower than the first return value (Mola [0076] lines 4-10; which shows an output component that is able to output/present and differences between the traced function/method output and the emulated execution function/method output would indicate the output/return value higher or lower that first return/output value if they different). As to claim 25, Mola discloses a system comprising: one or more processors (Mola [0025] lines 5-12); and memory storing instructions that, when executed by the one or more processors, cause the system to perform (Mola [0029] lines 5-14 and [0030] lines 1-6) The remaining limitations are comparable to claim 1 and rejected under the same reasoning. Claims 6 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Mola and Nupponen as applied to claims 1 and 13 above, and further in view of Ivancic (Pub. No. US 2016/0239407 A1). As to claim 6 and 18 Mola as modified by Nupponen do not specifically disclose wherein the operations further comprise creating the first set of one or more objects using a constructor method, a setter method or a builder class. However, Ivancic discloses wherein the operations further comprise creating the first set of one or more objects using a constructor method, a setter method or a builder class (Ivancic [0047] lines 3-14; which shows the specific use of a constructor method used to construct specific objects used in testing). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Ivancic showing the specifics of a constructor method for the use in create objects for testing into the testing of functions of Mola as modified by Nupponen for the purpose of providing for improved testing generation with the specific mechanism for automated test generation, as taught by Ivancic [0047] lines 3-14 and [0075] lines 1-5. Claims 7 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Mola and Nupponen as applied to claims 1 and 13 above, and further in view of Boskovic (Pub. No. US 2008/0155355 A1) As to claims 7 and 19 Mola as modified by Nupponen do not specifically disclose wherein the first set of one or more input values and the first return value is serialized in the trace data, wherein the operations further comprise constructing the first set of one or more objects using the first set of one or more input values serialized in the trace data. However, Boskovic discloses wherein the first set of one or more input values and the first return value is serialized in the trace data, wherein the operations further comprise constructing the first set of one or more objects using the first set of one or more input values serialized in the trace data (Boskovic [0011] lines 1-4 and [0013] lines 3-13; which shows the input and output/return values are in a serialized format in a trace with the ability to convent non- serialized data into the serialized format thus in light of the teachings of Mola above with the emulating/constructing the first set of objects with trace data can together be viewed as showing wherein the first set of one or more input values and the first return value is serialized in the trace data, wherein the operations further comprise constructing the first set of one or more objects using the first set of one or more input values serialized in the trace data). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Boskovic showing the specifics serializing trace data into the trace data of Mola as modified by Nupponen for the purpose of improving ease of trace analysis by serializing trace data so marshaled to a common data type, as taught by Boskovic [0011] lines 1-4. Claims 8 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Mola and Nupponen as applied to claims 1 and 13 above, and further in view of Zhang (Pub. No. US 2017/0235513 A1) As to claims 8 and 20 Mola discloses traversing trace data to identify (a) a first method that was invoked by the target method, (b) a second set of one or more input values that were received by the first method for execution of the first method, and (c) a second return value that was returned by the first method to the target method (Mola [0043] lines 1-6, [0048] lines 1-13, [0049] lines 1-28 and [0056] lines 1-11; which shows being able to analyze/traverse the data accessed, including trace data accessed for the associated application, and can identify the function/method that are part of that trace data, viewed as target function/method and the associated input data for the function/method and the output/return data for that function/method as well as the function/methods functions that are included within target/main function and associated input for that first function and return/output for that first function). Mola as modified by Nupponen do not specifically disclose wherein the test code is further configured to: create a proxy object, wherein invoking the first method, on the proxy object, using the second set of one or more input values results in returning the second return value. However, Zhang discloses wherein the test code is further configured to: create a proxy object, wherein invoking the first method, on the proxy object, using the second set of one or more input values results in returning the second return value (Zhang [0038] lines 13-24 and [0041] lines 1-15; which shows being able to generate/create proxy object for a target object/method and when invoking the method for the object thus in light of the testing/emulating of code seen disclosed above in Mola and Nupponen with the specifics of the copy of the method/function using the input and returning the output/return can together be viewed as showing wherein the test code is further configured to: create a proxy object, wherein invoking the first method, on the proxy object, using the second set of one or more input values results in returning the second return value). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Zhang showing the specifics generating proxy objects for methods into the testing and emulation of method and functions of Mola as modified by Nupponen for the purpose of improving memory resource utilization, as taught by Zhang [0021] lines 3-10 and [0038] lines 13-24. Claims 9-10 and 21-22 are rejected under 35 U.S.C. 103 as being unpatentable over Mola and Nupponen as applied to claims 1 and 13 above, and further in view Sharma et al. (Patent No. US 11,537,747 B1), Loch et al (Pub. No. US 2019/0205532 A1) and Boskovic (Pub. No. US 2008/0155355 A1) As to claims 9 and 21, Mola discloses capturing the trace data, wherein capturing the trace data comprises: storing the trace data (Mola [0038] lines 1-17; which shows that the trace data is recorded/stored) Mola as modified by Nupponen do not specifically disclose wherein the operations further comprise: capturing the trace data, wherein capturing the trace data comprises: traversing source code to identify the target method. However, Sharma discloses wherein the operations further comprise: capturing the trace data, wherein capturing the trace data comprises: traversing source code to identify the target method (Sharma Col. 16 lines 65- Col. 17 line 12; which shows being able to traverse/analyze the source code and identify specific/target method/function call). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Sharma showing the specifics of being able to traverse analyze the source code to determine trace data into the trace data of Mola as modified by Nupponen for the purpose of determining information that is unique from the analysis of source code, as taught by Sharma Col. 3 lines 12-22 and Col. 16 lines 65- Col. 17 line 12. Mola as modified by Nupponen and Sharma do not specifically disclose loading a class, including the target method, into a runtime environment, wherein loading the class comprises instrumenting byte code to trace the target method; capturing the trace data during invocation of the target method. However, Loch disclose loading a class, including the target method, into a runtime environment, wherein loading the class comprises instrumenting byte code to trace the target method (Loch [0006] lines 1-4, [0055] lines 1-7 and [0058] lines 14-22); which show as part of the class loading process into the runtime environment, where it is viewed that the method would be included in the class, being and in include byte code instrumentation where the byte code instrumentation can include train tracking functionality viewed as type of trace data); capturing the trace data during invocation of the target method (Loch [0006] lines 1-4, [0055] lines 1-7, [0058] lines 14-22 and [0062] lines 1-29; which shows being able to capture/receive the code associated with the trace/taint information instrumented into the bytecode). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Loch showing the specifics byte code instrumentation for tracking data into the trace data of Mola as modified by Nupponen and Sharma for the purpose of reducing the overhead by being able to specific tailor track/tracking information, as taught by Loch [0003] lines 4-13 and [0024] lines 1-9. Mola as modified by Nupponen, Sharma and Loch do not specifically disclose serializing the trace data. However, Boskovic discloses serializing the trace data (Boskovic [0011] lines 1-4 and [0013] lines 3-13; which shows the input and output/return values are in a serialized format in a trace with the ability to convent non- serialized data into the serialized format thus in light of the teachings of Mola above with the emulating/constructing the first set of objects with trace data can together be viewed as showing wherein the first set of one or more input values and the first return value is serialized in the trace data). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Boskovic showing the specifics serializing trace data into the trace data of Mola as modified by Nupponen, Sharma and Loch for the purpose of improving ease of trace analysis by serializing trace data so marshaled to a common data type, as taught by Boskovic [0011] lines 1-4. As to claims 10 and 22 Mola discloses wherein storing the trace data includes storing the trace data in a trace file on disk (Mola [0004] lines 1-7, [0007] lines 1-7 and [0027] lines 1-13; which shows that tracing data can be stored in a trace file on a disk). Claims 11 and 23 are rejected under 35 U.S.C. 103 as being unpatentable over Mola, Nupponen, Sharma, Loch and Boskovic as applied to claims 9 and 21 above, and further in view of Kew et al. (Pub. No. US 2014/0282430 A1) As to claims 11 and 23 Mola as modified by Nupponen, Sharma, Loch and Boskovic do not specifically disclose wherein instrumenting the byte code to trace the target method comprises: inserting instructions in the byte code (a) immediately before any executable code of the target method to capture a first state of the first set of one or more input values, and (b) immediately before a return command of the target method to capture the first return value. However, Kew discloses wherein instrumenting the byte code to trace the target method comprises: inserting instructions in the byte code (a) immediately before any executable code of the target method to capture a first state of the first set of one or more input values, and (b) immediately before a return command of the target method to capture the first return value (Kew [0005] lines 9-14 and [0025] lines 1-18 and claim 9; which shows as part of instrumenting the bytecode to trace target information being able in instrument bytecode to collect data at the beginning and end of execution tied to specific points of the target and points before and after target thus viewed as including immediately before the target points to capture state of input information and immediately before return/end to capture output/end of execution information). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Kew showing the specifics of bytecode instrumentation to collect data at specific points into the bytecode trace data of Mola as modified by Nupponen, Sharma, Loch and Boskovic for the purpose of providing additional options for code instrumentation to increase is adaptability for users, as taught by Kew [0004] lines 12-23 and [0025] lines 1-18. Claims 12 and 24 are rejected under 35 U.S.C. 103 as being unpatentable over Mola and Nupponen, as applied to claims 1 and 13 above, and further in view Travis et al. (Pub. No. US 2013/0185803 A1) As to claims 12 and 24 Mola as modified by Nupponen do not specifically disclose wherein the operations further comprise generating the trace data at least by: (a) traversing source code to identify an annotation corresponding to the target method; and (b) configuring generation of the trace data to trace the target method based on the annotation corresponding to the target method. However, Travis discloses wherein the operations further comprise generating the trace data at least by: (a) traversing source code to identify an annotation corresponding to the target method; and (b) configuring generation of the trace data to trace the target method based on the annotation corresponding to the target method (Travis [0015] lines 1-11 and [0029] lines 1-17; which shows that the source code can be annotated specifically, viewed as a type of target information viewed as including method, to indicate information for instrumentation code that include captures the trace of operations viewed as a type of configuration of the trace data based on the associated annotations corresponding to the target method). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Travis showing the specifics of source code annotations used to trace data into the trace data of Mola as modified by Nupponen, for the purpose of providing additional options for tracing and data collection in indicate specific targets code information for tracing and thus providing tracing with additional adaptability, as taught by Travis [0029] lines 1-17. Conclusion THIS ACTION IS MADE FINAL. 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 BRADFORD F WHEATON whose telephone number is (571)270-1779. The examiner can normally be reached Monday-Friday 8:00-5:00 EST. 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. /BRADFORD F WHEATON/Examiner, Art Unit 2193
Read full office action

Prosecution Timeline

Aug 15, 2023
Application Filed
Sep 24, 2025
Non-Final Rejection mailed — §101, §103
Dec 22, 2025
Applicant Interview (Telephonic)
Dec 22, 2025
Examiner Interview Summary
Dec 24, 2025
Response Filed
Apr 17, 2026
Final Rejection mailed — §101, §103
Jul 08, 2026
Applicant Interview (Telephonic)
Jul 09, 2026
Examiner Interview Summary

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12675263
METHOD FOR GENERATING SOURCE CODE
3y 6m to grant Granted Jul 07, 2026
Patent 12670082
COMPUTING PERFORMANCE ANALYSIS FOR SPANS IN A MICROSERVICES-BASED ARCHITECTURE
6y 1m to grant Granted Jun 30, 2026
Patent 12639199
Swarm Management
5y 4m to grant Granted May 26, 2026
Patent 12639046
INTELLIGENCE SYSTEM FOR CLOUD-BASED COMMUNICATION PLATFORMS
3y 5m to grant Granted May 26, 2026
Patent 12619523
IDENTIFICATION OF EMBEDDED BROWSERS IN APPLICATION FOR AUTOMATED SOFTWARE TESTING
3y 2m to grant Granted May 05, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
61%
Grant Probability
73%
With Interview (+11.9%)
3y 11m (~1y 0m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 386 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month