Prosecution Insights
Last updated: October 02, 2026
Application No. 18/822,521

METHOD FOR PREDICTING THE PERFORMANCE OF A SOFTWARE PROGRAM

Non-Final OA §103
Filed
Sep 03, 2024
Priority
Sep 06, 2023 — DE 10 2023 208 598.4
Examiner
CHOWDHURY, ZIAUL A.
Art Unit
Tech Center
Assignee
Carnegie Mellon University
OA Round
1 (Non-Final)
87%
Grant Probability
Favorable
1-2
OA Rounds
1y 0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 87% — above average
87%
Career Allowance Rate
486 granted / 558 resolved
+27.1% vs TC avg
Strong +36% interview lift
Without
With
+36.4%
Interview Lift
resolved cases with interview
Typical timeline
3y 1m
Avg Prosecution
12 currently pending
Career history
577
Total Applications
across all art units

Statute-Specific Performance

§101
16.4%
-23.6% vs TC avg
§103
52.7%
+12.7% vs TC avg
§102
20.2%
-19.8% vs TC avg
§112
6.3%
-33.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 558 resolved cases

Office Action

§103
Detailed Action 1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . This is the initial office action based on the application filed on September 3rd, 2024, which claims 1-9 have been presented for examination. Status of Claims 2. Claims 1-9 are pending in the application, of which claims 1, 8 and 9 are in independent form and these claims (1-9) are subject to following rejection(s) and/or objection(s) set forth in the following Office Action below. Claim Rejections – 35 USC §103 3. 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 of this title, 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. 4. Claims 1-9 are rejected under 35 U.S.C. 103 as being unpatentable over Lafreniere et al. (US Patent Application Publication No. 2013/0067441 A1 -herein after Lafreniere) in view of Esliger et al. (US Patent Application Publication No. 2017/0024191 A1 herein after Esliger). Per claim 1: Lafreniere discloses: A method for predicting performance of a software program (At least see Abstract: Methods, systems, and computer program products are provided for profiling source code to enable improved source code execution), comprising the following steps: profiling the software program, wherein the software program is provided as a bytecode representation (At least see ¶[0007] parsed source code is converted to bytecode; [thus, bytecode is representation of software code] -emphasis added), wherein the profiling is performed during execution of the software program, in order to provide an execution property of the software program (At least see ¶[0006] -runtime engine may use an interpreter to execute the script. Profile information regarding the script is collected by the interpreter during execution of the script). Lafreniere sufficiently discloses the method as set forth above including “a runtime engine (such as runtime engine 202 of FIG. 2) is configured to collect profile information regarding a script being executed, and to use the profile information to improve script execution performance”(see ¶[0049]), but Lafreniere does not explicitly disclose: profiling a runtime on a target device, wherein the profiling is performed while executing at least one test program on the runtime of the target device, in order to provide a runtime property of the target device; predicting the performance of an execution of the software program on the target device based on the execution property of the software program and the runtime property of the target device. However, Esliger discloses; profiling a runtime on a target device, wherein the profiling is performed while executing at least one test program on the runtime of the target device, in order to provide a runtime property of the target device (At least see ¶[0005] - profile instrumented application is executed on a target device that includes a SoC (such as a portable computing device) using one or more workload datasets representative of probable or critical workloads for the target device; also see ¶[0053]); predicting the performance of an execution of the software program on the target device based on the execution property of the software program and the runtime property of the target device (At least see ¶[0036] - knowledge of past behavior of an application to predict future needs of the application, embodiments of a PRAC solution also look to the profile dataset 27 to make proactive decisions regarding resource allocations and settings based on known, or highly probable, upcoming requirements). It would have been obvious to one ordinary skill in the art before the effective filing date of the claimed invention to incorporate Esliger into Lafreniere’s invention because PRAC solution advantageously leverage a-posteriori gathered data in a profile data set to make efficient a-priori decisions regarding workload allocations and resource settings during execution of an application, and subsequent executions of application using the profile dataset as a guide for anticipating and efficiently fulfilling the demands of the application may be monitored by profiler tool and used to update and refine profile dataset (please see ¶[0034] and ¶[0062]). Per claim 2: Lafreniere discloses: compiling the software program into the bytecode representation (At least see ¶[0008] -bytecode portion may be just-in-time (JIT) compiled into a compiled bytecode portion); compiling the bytecode representation as a pre-compilation, in order to make the bytecode representation executable on the target device (At least see ¶[0009] - compiled bytecode portion may be executed instead of interpreting the received bytecode portion if the at least one condition check passes). Per claim 3: Esliger also discloses: executing the at least one bytecode instruction at a point in time in order to analyze and describe the bytecode representation at least in terms of a frequency of the at least one bytecode instruction and a pattern of memory accesses of the at least one bytecode instruction, in order to provide the execution property of the software program (At least see ¶[0021] - call path info, number of threads, thread profiles, memory access patterns, cache usage; ¶[0023] - Profile data may be, but is not limited … frequency and duration of function calls by the program (execution of the program)), wherein the analyzing and describing of the bytecode representation are performed based on bytecode operation code sequences of the at least one bytecode instruction, wherein an estimated execution frequency and an estimated pattern of memory accesses are provided for each bytecode operation code sequence (At least see At least see ¶[0021] - call path info, number of threads, thread profiles, memory access patterns, cache usage; ¶[0023] - Profile data may be, but is not limited … frequency and duration of function calls by the program (execution of the program) emphasis added]). It would have been obvious to one ordinary skill in the art before the effective filing date of the claimed invention to incorporate Esliger into Lafreniere’s invention because PRAC solution advantageously leverage a-posteriori gathered data in a profile data set to make efficient a-priori decisions regarding workload allocations and resource settings during execution of an application, and subsequent executions of application using the profile dataset as a guide for anticipating and efficiently fulfilling the demands of the application may be monitored by profiler tool and used to update and refine profile dataset (please see ¶[0034] and ¶[0062]). Per claim 4: Esliger also discloses: prediction of the performance includes a prediction of at least one of the following: an execution time of the execution of the software program on the target device, an energy consumption of the execution of the software program on the target device (At least see ¶[0019] - resource may be configured to provide different levels of performance or capacity at the expense of power consumption, thermal energy generation), a memory usage of the execution of the software program on the target device, a network usage of the execution of the software program on the target device. It would have been obvious to one ordinary skill in the art before the effective filing date of the claimed invention to incorporate Esliger into Lafreniere’s invention because PRAC solution advantageously leverage a-posteriori gathered data in a profile data set to make efficient a-priori decisions regarding workload allocations and resource settings during execution of an application, and subsequent executions of application using the profile dataset as a guide for anticipating and efficiently fulfilling the demands of the application may be monitored by profiler tool and used to update and refine profile dataset (please see ¶[0034] and ¶[0062]). Per claim 5: Lafreniere discloses: detecting data about the execution of the at least one test program during its execution, wherein the data include sections of different instruction patterns of the at least one test program (At least see ¶[0036] - a sufficient amount of profile data regarding the script is gathered, the data may be used by the compiler to generate a better optimized machine code specific to the execution pattern recorded in the profile data), analyzing the sections of the different instruction patterns at least in terms of their execution time, in order to provide the runtime property based on the analyzed sections of the detected data (At least see ¶[0066] - analyze bytecode 324 for patterns that occur multiple times, and to generate statistics and/or other historical information regarding the patterns; ¶[0067] - code profiler 502 may indicate an identifier or a name of the function (in bytecode or other form) in association with a number of times the function is performed during execution of bytecode). Per claim 6: Esliger also discloses: profiling of the software program includes providing a range of at least two different inputs, in order to ensure that at least two different paths of the software program are exercised comprehensively (At least see ¶[0021] - a profile dataset may describe for a given application what functions are called the most, hot paths, block counts for LLVM blocks, call path info, number of threads, thread profiles, memory access patterns, cache usage). It would have been obvious to one ordinary skill in the art before the effective filing date of the claimed invention to incorporate Esliger into Lafreniere’s invention because PRAC solution advantageously leverage a-posteriori gathered data in a profile data set to make efficient a-priori decisions regarding workload allocations and resource settings during execution of an application, and subsequent executions of application using the profile dataset as a guide for anticipating and efficiently fulfilling the demands of the application may be monitored by profiler tool and used to update and refine profile dataset (please see ¶[0034] and ¶[0062]). Per claim 7: Lafreniere discloses: at least two software programs and/or a runtime of at least two target devices are profiled, wherein the performance is predicted based on an execution property of the at least two software programs and/or a runtime property of the at least two target devices, in order to, in each case, provide the performance prediction as a function of the at least two software programs and/or the runtimes of the at least two target devices (At least see ¶[0066] - analyze bytecode 324 for patterns that occur multiple times, and to generate statistics and/or other historical information regarding the patterns, which is included in profile information 320. The historical pattern information may be used to detect the presence of frequently executed functions ("hotspots"), loop bodies, helper calls, property accesses, etc., in bytecode 324. By indicating the presence of such patterns, the historical pattern information may be used to more efficiently execute source code 208, such as by enabling machine code to be generated for commonly occurring patterns). Per claim 8: Limitation rendered in this claim is as similar as claim 1 above; and therefore, rejected based on same rational. Per claim 9: Limitation rendered in this claim is as similar as claim 1 above; and therefore, rejected based on same rational. CONCLUSION 5. Any inquiry concerning this communication or earlier communications from the examiner should be directed to ZIAUL A. CHOWDHURY whose telephone number is (571)270-7750. The examiner can normally be reached on 9:30PM 6:30PM Monday -Friday. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Hyung S. Sough can be reached on 571-272-6799. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Status information for published applications may be obtained from Patent Public Search tool (for all users) – A link to the Patent Public Search Tool is available at www. Uspto.gov/PatentPublicSearch. To find a U.S. patent or U.S. patent application publication, open the Patent Public Search tool by selecting “Start search”. Type the U.S. patent or U.S. patent application publication number in the “Search” panel without any punctuation and followed by an”.pn.”. Should you have questions on access to the system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /ZIAUL A CHOWDHURY/ Primary Examiner, Art Unit 2192 08/07/2026
Read full office action

Prosecution Timeline

Sep 03, 2024
Application Filed
Aug 11, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12737284
DETECTING ANALYSIS MODEL COMPATIBILITIES WITH COMPLEX EXPERIMENT DESIGNS TO GENERATE EXPERIMENT DESIGN AND ANALYSIS MODEL COMPATIBILITY GRAPHICAL USER INTERFACES
2y 9m to grant Granted Sep 15, 2026
Patent 12710972
JUST IN TIME COMPILATION USING LINK TIME OPTIMIZATION
2y 4m to grant Granted Aug 18, 2026
Patent 12705163
VALIDATION OF REST API BACKWARD COMPATIBILITY WITH DIFFERENTIAL COVERAGE-GUIDED FEEDBACK FUZZING
4y 5m to grant Granted Aug 11, 2026
Patent 12688023
ADDING OPERATORS TO CODE BASED ON SOURCE DATA CHARACTERISTICS AND A TARGET RUNTIME CONFIGURATION
2y 6m to grant Granted Jul 21, 2026
Patent 12675389
SOFTWARE TEST SYSTEM AND SOFTWARE TEST METHOD
2y 12m to grant Granted Jul 07, 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

1-2
Expected OA Rounds
87%
Grant Probability
99%
With Interview (+36.4%)
3y 1m (~1y 0m remaining)
Median Time to Grant
Low
PTA Risk
Based on 558 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