Prosecution Insights
Last updated: August 18, 2026
Application No. 18/585,525

SYSTEM AND METHOD FOR GENERATING SOFTWARE CODE CRITICALITY AND EXECUTION HEATMAPS TO OPTIMIZE RESOURCE CONSUMPTION

Final Rejection §103
Filed
Feb 23, 2024
Examiner
MORSHED, HOSSAIN M
Art Unit
2191
Tech Center
2100 — Computer Architecture & Software
Assignee
Bank of America Corporation
OA Round
2 (Final)
84%
Grant Probability
Favorable
3-4
OA Rounds
0m
Est. Remaining
98%
With Interview

Examiner Intelligence

Grants 84% — above average
84%
Career Allowance Rate
368 granted / 439 resolved
+28.8% vs TC avg
Moderate +14% lift
Without
With
+13.9%
Interview Lift
resolved cases with interview
Typical timeline
2y 3m
Avg Prosecution
10 currently pending
Career history
455
Total Applications
across all art units

Statute-Specific Performance

§101
12.1%
-27.9% vs TC avg
§103
48.7%
+8.7% vs TC avg
§102
15.2%
-24.8% vs TC avg
§112
20.0%
-20.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 439 resolved cases

Office Action

§103
DETAILED ACTION The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . 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 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. Status of the application This Office Action is in response to Applicant's Application filed on 02/23/2024. Claims 1, 2, 4-9, 11-16 and 18-20 are pending for this examination. Claim Interpretation Claims use the term “Heatmap”. TechTarget defines Heatmap, “A heat map is a two-dimensional representation of data in which various values are represented by colors. A simple heat map provides an immediate visual summary of information across two axes, allowing users to quickly grasp the most important or relevant data points. More elaborate heat maps allow the viewer to understand complex data sets.” This shows that heatmap by definition is a visual summary of data.” This means heatmap by definition is represented visually. Claims use the term “criticality”. The term has been not been defined in the specification. The specification described on page 14/17 bottom line “Upon execution, the system may determine that the Submodule '2' 742 is a critical submodule based at least on execution frequency (e.g., may determine that it [[s]] is executed 'Y' number of times) and may display it via a second visual representation element.” This shows that criticality is measured based on execution frequency. In other words, execution frequency is a measure of criticality. Claims use the term “entity application”. Specification describes in [0020] “As described herein, the term "entity" may be any organization that creates, manages, develops, provides, maintains, and/or uses one or more applications (e.g., web applications, mobile applications, or the like) to perform one or more activities.” This shows entity means an organization and any application developed, managed or used by an organization is an entity application. Considering a person can be an organization, any application can be considered an entity application. Claims use the term “lines of program code”. Here “lines of program code”, which means several lines of code, has been used as a unit of execution. Please note that specification does not mention lines of source code. In contrast, the specification implies that the “lines of program code” means executable code. As such, the term “lines of program code” means an execution code unit, such as a function or a block of executable code. Claims use the term “gaps in the test data”. Specification recites in [0048] starting at line 2, “Based on the generated heatmap, the system may determine that a submodule of the 'n' submodules associated with a first module of the 'm' modules associated with an application is not executed at least once using the test data and may therefore determine a gap in the test data that resulted in non-execution of the submodule.” In other words, it means that the test data does not execute some parts of the application.) Prior arts use the term “dead code”. GeeksforGeeks (document attached) recites on page 1, paragraph 2, “Dead code refers to sections of code within a program that is never executed during runtime and has no impact on the program output or behavior. Identifying and removing dead code is essential for improving program efficiency, reducing complexity, and enhancing maintainability.” From the definition it is evident that “gaps in the test data” as described in the specification and claims 1, 8 and 15 can be considered to be equivalent to “dead code”. Response to Amendment/Arguments Applicants' arguments have been carefully and respectfully considered and addressed but found not persuasive. Arguments are moot in light of the new ground of rejection, which relies upon prior art made of record Boosma et al. (“Dead Code Elimination for Web Systems Written in PHP: Lessons Learned from an Industry Case”, 2012, IEEE). Accordingly, this action has been made FINAL. Claim Rejections - 35 USC § 103 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, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19 and 20 are rejected under AIA 35 U.S.C. 103 as being unpatentable over Zhu et al. (hereinafter Zhu, Patent No.: US 12,487,809) in view of Pearson (hereinafter Pearson, “A GUIDE TO FINDING GAPS IN YOUR AUTOMATED TEST COVERAGE”, 2022, Lucid.com) and further in view of Boosma et al. (hereinafter Boosma, Dead Code Elimination for Web Systems Written in PHP: Lessons Learned from an Industry Case”, 2012, IEEE). As per claim 1, (Currently amended) Zhu teaches, A system for generating software code criticality and execution heatmaps to optimize resource consumption, comprising: at least one processing device; at least one memory device; and a module stored in the at least one memory device comprising executable instructions that when executed by the at least one processing device, (Zhu Fig. 6 shows processors and memory devices.) cause the at least one processing device to: access one or more entity applications associated an entity, (Zhu recites in column 1, starting at line 41, “components of an executable program; scanning, by the one or more processors, the components to divide the executable program into units;.” Here “scanning the components” means accessing the application. Zhu recites on column 3, starting at line 65, “Software as a Service (SaaS): the capability provided to the consumer is to use the provider's applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based e-mail).” This shows that the application is an entity application, where the entity is a cloud service provider.) wherein the one or more entity applications comprises lines of program code; (Zhu recites in column 1, starting at line 40, “receiving, by one or more processors, components of an executable program; scanning, by the one or more processors, the components to divide the executable program into units;”. This shows that the application comprises lines of program code (or executable program units).) parse through the lines of program code associated with the one or more entity applications; (Zhu recites in column 1, starting at line 40, “receiving, by one or more processors, components of an executable program; scanning, by the one or more processors, the components to divide the executable program into units; creating, by the one or more processors, a logical layer of entry lists, based on the units, for instantiations of the executable program;”. This shows parsing the lines of program code and dividing the application into executable program units.) generate tokens for each of the lines of program code; (Zhu recites in column 7, starting at line 61, “The entry manger can assign an entry list to a program, wherein units can be assigned to an entry associated with an order the units were loaded, e.g., a unique identifier.” This shows that each code unit (or lines of program code) is assigned a unique identifier. This is the token.) generate heatmap associated with each of the lines of program code, (Zhu recites in column 1, starting at line 47, “monitoring, by the one or more processors, execution of the instantiations to increment counters based on executions of the units; creating, by the one or more processors, a heatmap of the executions based on the counters;”.) wherein the heatmap comprises visual representations associated with each of the tokens generated for each of the line of program code; and display the heatmap to one or more users. (Zhu recites in column 8, starting at line 33, “In one aspect, the heatmap generator of analyzer component 404 can generate a digital heatmap based on changing the entry order of the previously created paired list into an "x," "y" coordinate list from the entries and a depth list from the execution times. In another aspect of an embodiment, the heatmap generator function of analyzer component 404 can fill the pixels associated with the "x," "y" coordinate pairs and depth list with an initial value of zero to create a typical image with a size of (m, Max(nl,. .. , nm)).”) Zhu teaches use of heatmap in software development and testing. Zhu does not explicitly mention “determine one or more gaps in test data based on the heatmap,”. However, in analogous art of software development and testing, Pearson teaches, determine one or more gaps in test data based on the heatmap, (Pearson recites on page 1, last line, "Combining this build data with customer-use metrics provides a valuable heatmap of potential testing gaps-enabling focused improvement of test coverage on the most-used features.") Therefore, it would have been obvious to a person of the ordinary skill in the art before the effective filling date of the invention to modify the above teaching of Zhu of use of heatmap in software development and testing by incorporating the teaching “determine one or more gaps in test data based on the heatmap,” of Pearson. The modification would have been obvious because one of the ordinary skills of the art would have implemented the function of determining the gaps in test data using a heatmap because heatmap graphically shows the parts of the application not covered by a test. Zhu and Pearson teach use of heatmap in software development and testing. They do not explicitly mention “wherein the one or more gaps comprise one or more submodules of the one or more entity applications that are not executed at least once using the test data; and perform one or more corrective actions based on determining the one or more gaps, wherein the one or more corrective actions optimize resource consumption of one or more entity systems executing the lines of program code associated with the one or more entity applications.” However, in analogous art of software development and testing, Boosma teaches, wherein the one or more gaps comprise one or more submodules of the one or more entity applications that are not executed at least once using the test data; and (By definition, this is “dead code”. Please see the “Claim Interpretation” section above. Boosma recites on page 511, column 2, paragraph 2, “In practice, appropriate dead code identification for PHP should be performed dynamically. Therefore, we develop and evaluate a dynamic analysis approach and tools which help engineers to identify dead code in web systems written in PHP.” This shows identifying dead code or gaps where submodules were not executed.) perform one or more corrective actions based on determining the one or more gaps, wherein the one or more corrective actions optimize resource consumption of one or more entity systems executing the lines of program code associated with the one or more entity applications. (Boosma recites on page 511, column 1, paragraph 3, bottom sentence “Proper dead code identification and elimination strategies help reduce system size and complexity, improve system understandability [3], [4], retard software ageing [5], and, consequently, alleviate maintenance.” This shows that depending on the gap, dead code is eliminated and resource consumption can be optimized.) Therefore, it would have been obvious to a person of the ordinary skill in the art before the effective filling date of the invention to modify the above teaching of Zhu of use of heatmap in software development and testing by incorporating the teaching “wherein the one or more gaps comprise one or more submodules of the one or more entity applications that are not executed at least once using the test data; and perform one or more corrective actions based on determining the one or more gaps, wherein the one or more corrective actions optimize resource consumption of one or more entity systems executing the lines of program code associated with the one or more entity applications.” of Boosma. The modification would have been obvious because one of the ordinary skills of the art would have implemented the function of determining the gaps in test data using a heatmap and then remove dead code from the application for improving efficiency of the application. As per claim 2, (Currently amended) Zhu teaches, wherein the executable instructions cause the at least one processing device to generate the heatmap associated with each of the lines of program code based on executing the lines of program code based on the test data. (Zhu recites in column 1, starting at line 47, “monitoring, by the one or more processors, execution of the instantiations to increment counters based on executions of the units; creating, by the one or more processors, a heatmap of the executions based on the counters;”. Here execution of the instantiations means execution of the “lines of program code”. Here heatmap is created on the number of times a program unit is executed.) As per claim 4, (Currently amended) Pearson teaches, wherein the one or more corrective actions comprise at least one of: generating and transmitting alerts to the one or more users associated with the one or more entity applications; (Pearson recites on page 2 starting at line 2, “Daily event tracking allows you to monitor and respond to changes in customer use, feature experiments, release of new features, and changes to testing content.” Here “monitoring” provides the gap information, which means the application is generating and transmitting some kind of signal to inform the user about the gap.) modifying at least one of the lines of program code; (not considered) commenting out the at least one of the lines of program code; and (not considered) rearranging the lines of program code. (not considered) As per claim 5, (Original) Boosma teaches, wherein the one or more corrective actions improve resource consumption of one or more entity systems executing the lines of program code associated with one or more entity applications. (Boosma recites on page 511, column 1, paragraph 3, bottom sentence “Proper dead code identification and elimination strategies help reduce system size and complexity, improve system understandability [3], [4], retard software ageing [5], and, consequently, alleviate maintenance.” This shows that depending on the gap, dead code is eliminated and resource consumption can be optimized.) As per claim 6, (Original) Zhu teaches, wherein the visual representations comprise representations that denote criticality and execution frequency associated with each of the lines of program code. (In light of the specification, critically and execution frequency are equivalent. Please see the claim interpretation section above. Zhu recites in column 1, starting at line 47, “monitoring, by the one or more processors, execution of the instantiations to increment counters based on executions of the units; creating, by the one or more processors, a heatmap of the executions based on the counters;”. Here execution of the instantiations means execution of the “lines of program code”. Here heatmap is created on the number of times a program unit is executed. As such, this heatmap also represent criticality and execution frequency of an execution unit. Heatmap by definition is a visual representation of data. Please see the “Claim Interpretation” section above.) As per claim 7, (Original) Zhu teaches, wherein the one or more entity applications comprise modules, wherein each of the modules comprise submodules, and each of the submodules comprise the lines of program code. (Zhu recites in column 7, starting at line 56, “In another aspect, the results of the scan can show the units, e.g., class, function, module, etc., based on a user defined criterion, divided by the programs.” This shows that the application comprises function which can be considered modules. By user defined criteria each function can be further divided into sub-modules.) As per claims 8, 9, 11, 12, 13 and 14, these are medium claims that substantially parallel the limitations of the system claims 1, 2, 4, 5, 6 and 7, respectively. It would have been obvious to one of ordinary skill in the art before the time of the effective filing date of the invention to implement the prescribed systems steps as a medium. As per claims 15, 16, 18, 19 and 20, these are method claims that substantially parallel the limitations of the system claims 1, 2, 4, 6 and 7, respectively. It would have been obvious to one of ordinary skill in the art before the time of the effective filing date of the invention to implement the prescribed systems steps as a method. References of Note Examiner has cited particular columns, line numbers, references, or figures in the references applied to the claims above for the convenience of the applicant. Although the specified citations are representative of the teachings of the art and are applied to specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested from the applicant in preparing responses to fully consider the reference in entirety, as potentially teaching all or part of the claimed invention. See MPEP §§ 2141.02 and 2123. Conclusion Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Contact Information Any inquiry concerning this communication or earlier communications from the examiner should be directed to HOSSAIN MORSHED whose telephone number is (571)272-3335. The examiner can normally be reached on Monday – Friday12:00 PM – 9 PM Eastern Time. The email address for the examiner is hossain.morshed@uspto.gov. Examiner interviews are available via telephone or video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Wei Mui can be reached on (571)272-3708. /HOSSAIN M MORSHED/Primary Examiner, Art Unit 2191 June 12, 2026
Read full office action

Prosecution Timeline

Feb 23, 2024
Application Filed
Feb 23, 2026
Non-Final Rejection mailed — §103
May 26, 2026
Response Filed
Jun 17, 2026
Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12704285
CONTROL ENGINE SYSTEM AND METHOD
2y 7m to grant Granted Aug 11, 2026
Patent 12699646
SYSTEM FOR IDENTIFYING VISUAL ANOMALIES AND CODING ERRORS WITHIN A VIDEO GAME
2y 4m to grant Granted Aug 04, 2026
Patent 12699557
AUTOMATED SYSTEM FOR PREDICTING SOFTWARE APPLICATION FRAMEWORK DEPLOYMENT CHANGES FOR INCIDENT MITIGATION
2y 4m to grant Granted Aug 04, 2026
Patent 12693855
CODE AUTHENTICATION IN A GIT REPOSITORY
2y 7m to grant Granted Jul 28, 2026
Patent 12688017
Integrated Development Environments for Generating Machine Learning Models
2y 4m to grant Granted Jul 21, 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
84%
Grant Probability
98%
With Interview (+13.9%)
2y 3m (~0m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 439 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