Prosecution Insights
Last updated: April 19, 2026
Application No. 17/903,008

SYSTEMS AND METHODS FOR CODE ANALYSIS HEAT MAP INTERFACES

Final Rejection §DP
Filed
Sep 05, 2022
Examiner
NGUYEN, MONGBAO
Art Unit
2192
Tech Center
2100 — Computer Architecture & Software
Assignee
Smartshift Technologies Inc.
OA Round
4 (Final)
86%
Grant Probability
Favorable
5-6
OA Rounds
2y 9m
To Grant
99%
With Interview

Examiner Intelligence

Grants 86% — above average
86%
Career Allow Rate
482 granted / 562 resolved
+30.8% vs TC avg
Strong +43% interview lift
Without
With
+43.1%
Interview Lift
resolved cases with interview
Typical timeline
2y 9m
Avg Prosecution
24 currently pending
Career history
586
Total Applications
across all art units

Statute-Specific Performance

§101
17.1%
-22.9% vs TC avg
§103
58.4%
+18.4% vs TC avg
§102
5.1%
-34.9% vs TC avg
§112
9.3%
-30.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 562 resolved cases

Office Action

§DP
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 . DETAILED ACTION Status of Claim 1. Applicant's amendment dated 08/25/2025 responding to the Office Action 02/25/2025 provided in the rejection of claims 15-35. 2. Claims 15-35 are pending in the application, of which claims 15, 22 and 29 are in independent form and which have been fully considered by the examiner. Examiner Notes 3. Examiner cites particular columns and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner. Double Patenting 4. The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13. The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer. 5. Claims 15-35 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1, 4-7, 9, 12-15 and 18-20 of U.S. Patent No. 11436006. Although the claims at issue are not identical, they are not patentably distinct from each other because claims 1, 4-7, 9, 12-15 and 18-20 of U.S. Patent No. 11436006 recite the elements of claims 15-35 of the instant application 17/903,008. Both claim features of the instant application 17/903,008 and US Patent No. 11436006 can be compared as follows: Instant Application 17/903,008 U.S. Patent No. 11436006 15. A method for displaying code objects of a source installation of an application to be transformed into a target installation of the application, comprising: providing, by a computing device, a heat map interface in which characteristics of the source installation of the application are displayed; displaying, by the computing device, a first region within the heat map interface representative of the source installation of the application; displaying, by the computing device, a first plurality of sub-regions within the first region, each sub-region corresponding to a category of code objects of the source installation, and each sub-region having a displayed area proportional to a value of a first characteristic of the category of code objects and a displayed color selected from a predetermined plurality of colors according to a value of a second characteristic of the category of code objects; receiving a selection of a first sub-region of the first plurality of sub-regions via an input device of the computing device, the first sub-region corresponding to a first category of code objects; and replacing, in response to the selection of the first sub-region, the display of the first region with a display of the first sub-region and a second plurality of sub-regions within the first sub- region, each of the second plurality of sub-regions corresponding to a sub-category of the first category of code objects of the selected first sub-region, and each sub-region in the second plurality of sub- regions having a displayed area proportional to a value of the first characteristic of the corresponding sub-category and a displayed color selected from a predetermined plurality of colors according to a value of the second characteristic of the corresponding sub-category; wherein the value of the second characteristic of the category of code objects represents whether a majority of objects in the category of code objects are marked for migration. 1. A method for displaying code objects of a source installation of an application to be transformed into a target installation of the application, comprising: providing, by a computing device, a heat map interface in which characteristics of the source installation of the application are displayed; displaying, by the computing device, a first region within the heat map interface representative of the source installation of the application; displaying, by the computing device, a first plurality of sub-regions within the first region, each sub-region corresponding to a category of code objects of the source installation, and each sub-region having a displayed area proportional to a value of a first characteristic of the category of code objects and a displayed color selected from a predetermined plurality of colors according to a value of a second characteristic of the category of code objects; receiving a selection of a first sub-region of the first plurality of sub-regions via an input device of the computing device, the first sub-region corresponding to a first category of code objects; and replacing, in response to the selection of the first sub-region, the display of the first region with a display of the first sub-region and a second plurality of sub-regions within the first sub-region, each of the second plurality of sub-regions corresponding to a sub-category of the first category of code objects of the selected first sub-region, and each of the second plurality of sub-regions having a displayed area proportional to a value of the first characteristic of the corresponding sub-category and a displayed color selected from a predetermined plurality of colors according to a value of the second characteristic of the corresponding sub-category; wherein: the first characteristic comprises a frequency of execution of entry points within the corresponding region or sub-region, and each of the entry points comprises an input to, or an output from, a code object in a different region or sub-region. 16. The method of claim 15, further comprising: receiving, by the computing device, a selection of a second sub-region of the second plurality of sub-regions and a transformation action to be performed on code objects of the second sub-region; adding an identification of the transformation action to entries, in a list of code objects of the source installation, corresponding to each code object of the second sub-region; and applying the transformation action to the code objects of the second sub-region. 4. The method of claim 1, further comprising: receiving, by the computing device, a selection of a second sub-region of the second plurality of sub-regions and a transformation action to be performed on code objects of the second sub-region; adding an identification of the transformation action to entries, in a list of code objects of the source installation, corresponding to each code object of the second sub-region; and applying the transformation action to the code objects of the second sub-region. 17. The method of claim 15, wherein the first characteristic comprises a number of code objects within the corresponding region. 19. The method of claim 15, wherein the first characteristic comprises a number of code objects within the corresponding sub-region. 5. The method of claim 1, wherein the first characteristic comprises a number of code objects within the corresponding region or sub-region. 18. The method of claim 17, wherein the first characteristic comprises a number of code objects within the corresponding region that are identified as capable of automatic or semi-automatic transformation. 20. The method of claim 19, wherein the first characteristic comprises a number of code objects within the corresponding sub-region that are identified as capable of automatic or semi-automatic transformation. 6. The method of claim 5, wherein the first characteristic comprises a number of code objects within the corresponding region or sub-region that are identified as capable of automatic or semi-automatic transformation. 21. The method of claim 15, wherein the first characteristic comprises a frequency of access of functional areas of the application to be transformed into the target installation of the application. 7. The method of claim 1, wherein the first characteristic comprises a frequency of access of functional areas of the application to be transformed into the target installation of the application. Claims 22-28 recite the same limitations as rejected claims 15-21 above. Claims 9 and 12-14 recite the same limitations as rejected claims 1 and 4-7 above. Claims 29-34 recite the same limitations as rejected claims 15-21 above. Claims 15 and 18-20 recite the same limitations as rejected claims 1 and 4-7 above. 6. Claims 15-20 and 22-25 are rejected on the ground of nonstatutory double patenting as being unpatentable claims 1-4 of U.S. Patent No. 10528343. Although the claims at issue are not identical, they are not patentably distinct from each other because claims 1-4 of U.S. Patent No. 10528343 recite the elements of claims 15-20 and 22-25 of the instant application 17/903,008. Both claim features of the instant application 17/903,008 and US Patent No. 10528343 can be compared as follows: Instant Application 17/903,008 U.S. Patent No. 10528343 15. A method for displaying code objects of a source installation of an application to be transformed into a target installation of the application, comprising: providing, by a computing device, a heat map interface in which characteristics of the source installation of the application are displayed; displaying, by the computing device, a first region within the heat map interface representative of the source installation of the application; displaying, by the computing device, a first plurality of sub-regions within the first region, each sub-region corresponding to a category of code objects of the source installation, and each sub-region having a displayed area proportional to a value of a first characteristic of the category of code objects and a displayed color selected from a predetermined plurality of colors according to a value of a second characteristic of the category of code objects; receiving a selection of a first sub-region of the first plurality of sub-regions via an input device of the computing device, the first sub-region corresponding to a first category of code objects; and replacing, in response to the selection of the first sub-region, the display of the first region with a display of the first sub-region and a second plurality of sub-regions within the first sub- region, each of the second plurality of sub-regions corresponding to a sub-category of the first category of code objects of the selected first sub-region, and each of the second plurality of sub- regions having a displayed area proportional to a value of the first characteristic of the corresponding sub-category and a displayed color selected from a predetermined plurality of colors according to a value of the second characteristic of the corresponding sub-category; wherein the value of the second characteristic of the category of code objects represents whether a majority of objects in the category of code objects are marked for migration. 1. A method for displaying code objects of a source installation of an application to be transformed automatically into a target installation of the application, comprising: providing, by a computing device, a heat map interface in which characteristics of a source installation are displayed; displaying, by the computing device, a first region within the heat map interface representative of the source installation; displaying, by the computing device, a first plurality of sub-regions within the first region, each sub-region corresponding to a category of code objects of the source installation, each sub-region having a size proportional to a value of a first characteristic of the category of code objects and a color selected from a predetermined plurality of colors according to a value of a second characteristic of the category of code objects; receiving a selection of a first sub-region of the first plurality of sub-regions via an input device of the computing device, the first sub-region corresponding to a first category of code objects; in response to the selection of the first sub-region, replacing the display of the first region with a display of the first sub-region and a second plurality of sub-regions within the first sub-region, each of the second plurality of sub-regions corresponding to a sub-category of the first category of code objects of the selected first sub-region, and each of the second plurality of sub-regions having a size proportional to a value of the first characteristic of the corresponding subcategory and a color selected from a predetermined plurality of colors according to a value of the second characteristic of the corresponding sub-category; 16. The method of claim 15, further comprising: receiving, by the computing device, a selection of a second sub-region of the second plurality of sub-regions and a transformation action to be performed on code objects of the second sub-region; adding an identification of the transformation action to entries, in a list of code objects of the source installation, corresponding to each code object of the second sub-region; and applying the transformation action to the code objects of the second sub-region. 19. The method of claim 15, wherein the first characteristic comprises a number of code objects within the corresponding sub-region. receiving, by the computing device, a section of a second sub-region of the second plurality of sub-region and a transformation action to be performed on code objects of the second sub-region; and adding, by the computing device, an identification of the transformation action to entries, in a list of code objects of the source installation, corresponding to each code object of the second sub-region; wherein the first characteristic comprises a number of entry points of the corresponding region or sub-region and a number of code objects within the corresponding region or sub-region, each entry point comprising an input to or output from a code object in a different region or sub-region; and wherein the second characteristic comprises an identifier of a number of differences between code objects of the source installation and code objects of the target installation within the corresponding region or sub-region. Claims 22 – 25 recites the same limitations as claims 15-20 above. Claims 3-4 recites the same limitations as claims 1-2 above. Allowable Subject Matter 7. Claims 15-35 would be allowable if a Terminal Disclaimer is submitted to overcome the Double Patenting rejection. The cited references: Horning et al. (US Patent No. 8387022 B2 – IDS filed on 04/15/2025 – herein after Horning). Horning discloses the ability to identify procedures or other sequences of instructions that are the target of a subroutine or function call; the ability to insert instructions before and/or after other identified instructions, and to ensure that other instructions are appropriately relocated and updated so that the modified program functions correctly; the ability to rewrite and/or modify existing instructions in the program; the ability to insert new functions and procedures, including ones of non-trivial complexity (e.g., mapping functions); the ability to update symbol information, for example, to regenerate the mapping between symbols and lines of source code in a modified program; and the ability to update other program sections, such as the relocation information – See col. 9, lines 4-20. Performance-critical regions are flagged, and tamper testing code is not added to the flagged regions. In a preferred embodiment conventional automated tools are used to identify and flag the performance-critical sections, while in other embodiments, other techniques are used (such as, e.g., manual identification) – See col. 61, lines 45-50. Code can be modified in place or can be relocated to another location, such as the stack or the heap, and modified there. The following sections present several obfuscation techniques that involve code modification – See col. 27, lines 25-33. Horning does not disclose the claim invention. Kochhar et al. (US Pub. No. 2017/0046143 A1 – herein after Kochhar). Kochhar discloses Software code from a source instance is labeled with a migration identifier to associate the software code with a migration project. Using a pre-migration comparison function, migration information pertaining to source database objects and target database objects associated with the migration project are compared against migration validation rules to determine whether to allow the migration of all…prior to the software code migration, the pre-migration comparison function may be configured to determine which source database objects and target database objects will be impacted by the software code migration, and create a backup of such source database objects and target database objects that will be impacted by the software code migration – See paragraph [0009]. Pre-compare and report function 524 may process and compare metadata descriptions pertaining to objects associated with source database instance 120A with objects associated with target database instance 120B to determine whether they are any acceptable and unacceptable differences in the type of objects, such as tables, indexes, stored procedures, sequences, views, synonyms, etc., as well as acceptable and unacceptable differences in other object information such as attributes, size, color, function, structure, and the like – See paragraph [0063]. Kochar further discloses given the differences between the objects between source database instance 120A and target database instance 120B include differences in the number of tables where migrating the software code would result in the loss of data (e.g., data deletion) in the target database instance 120B, pre-compare and report function 524 may be configured to stop some or all of the code migration project and report an error, for example, by sending an email notification to one or more personnel – See paragraphs [0063-0065]. Kochhar does not the claim invention. Owen et al. (US Patent No. 10223076 B1 – herein after Owen). Owen discloses as shown in FIG. 2G, a user may interact with UI element 228 by selecting an area 232 of the plot displayed by UI element 228 (e.g., to zoom in on area 232). For example, the user may select area 232 by clicking at point 234 and dragging to point 236… As further shown in FIG. 2H, and by reference number 242, UI element 228 may include a graphics object that displays area 232 (e.g., a zoomed in area of the plot displayed by UI element 228 in FIGS. 2F and 2G). In some implementations, the user may interact with an input mechanism to toggle code editor 102 between an in-line display and a side-by-side display, similar to what was described above with regard to FIG. 1F – See col. 10, lines 15-47. TCE 320 may display UI element 246. In some implementations, UI element 246 may display output of program code 244. For example, UI element 246 may display a graphics object (e.g., a figure, such as a surface plot) that includes a graphical representation of data generated by program code 244. As shown, a user may interact with the graphics object, such as a FIG. 248. For example, the user may pan the graphics object, zoom in on or zoom out from a portion of the graphics object, rotate the graphics object, add and/or modify a title of the graphics object, add and/or modify an axis label of the graphics object, change a line thickness, move a legend to a new location, resize an axis, etc. – See col. 10, lines 62-67 and col. 11, lines 1-13. The user may manipulate a figure by adding or modifying a figure characteristic, such as a line thickness, a legend (e.g., a legend location, size, type, etc.), modifying a figure color, modifying a size of one or more axes of a figure (e.g., to resize the axis or axes), modifying a font size, and/or the like – See col. 14, lines 29-34. Owen does not disclose the claim invention. Aveg Ashish (Clones Clustering Using K-Means, 2016 – herein after Ashish). Ashish discloses basic comparison and transformation algorithm. and makes them independent. This technique will be used for comparing for two or more code clone segments. Any program divided into some strings and lines and code fragments if strings match – See page 1. Parameters on Y-axis and number of clones on X-axis for sample.java file. Blue coloured region represents highest number of clones 200,195..etc, Red coloured region represents medium number of clones Red in 203, 195,128,155..etc. and Green coloured region represents lowest number of clones 41, 21,10..etc. Blue = High numbers of clone. Red = Medium numbers of clone. Green = Small numbers of clone – See page 3-4. Ashish does not disclose the claimed invention. Conclusion 9. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Haviv et al. (US Patent No. 10740287 B2) discloses data migration between storage repositories or tiers Must not delete before date (WORM, Immutability) Delete after n days (from create or last read, or last update) or after it was archived Transformation, read through a set of objects matching the filters and generating a new transformation of data. Search, look for certain content or metadata in a set of objects matching the filter…Monitor (Source Host/Net/User/Group+Protocol, Object path/type, Current Tags) Counters/Charts: measure IO, Bandwidth, Opens, create, latency, cache-hits, random/seq statistics Alarms: send notification when min/max/avg/sum of counter is >/z/=X for at least N periods of T (time) Activity logs (record of all operations, by operation filter) Heatmaps per object, provide indication on seq/rand, r/w, data locality, cache hits Reports can be stored as templates/dashboards or sent on scheduled event to user email – See col. 14, lines 10-38). Best (US Pub. No. 2016/0170745 A1) discloses identifying, by a processing device, a plurality of source code objects associated with an open source product stored in a version-controlled code repository, determining a first subset of the plurality of source code objects associated with a respective commit identifier indicating that each of the first subset of the plurality of source code objects is committed to the version-controlled code repository, determining a second subset of the plurality of source code objects not associated with any commit identifier of the version-controlled code repository, labeling each of the first subset of the plurality of source code objects as an upstream source code object, and labeling each of the second subset of the plurality of source code objects as a non-upstream source code object – See Abstract and specification for more details. 10. 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 MONGBAO NGUYEN whose telephone number is (571)270-7180. The examiner can normally be reached Monday-Friday 8am-5pm. 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. 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. /MONGBAO NGUYEN/ Examiner, Art Unit 2192
Read full office action

Prosecution Timeline

Sep 05, 2022
Application Filed
Sep 05, 2022
Response after Non-Final Action
Sep 01, 2023
Non-Final Rejection — §DP
Mar 08, 2024
Response Filed
Jul 03, 2024
Final Rejection — §DP
Jan 07, 2025
Examiner Interview Summary
Jan 07, 2025
Applicant Interview (Telephonic)
Jan 10, 2025
Request for Continued Examination
Jan 19, 2025
Response after Non-Final Action
Feb 20, 2025
Non-Final Rejection — §DP
Mar 12, 2025
Applicant Interview (Telephonic)
Mar 20, 2025
Examiner Interview Summary
Aug 25, 2025
Response Filed
Nov 14, 2025
Final Rejection — §DP (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12596626
HIGH-SPEED DEBUG PORT TRACE CIRCUIT
2y 5m to grant Granted Apr 07, 2026
Patent 12596639
SELF-GENERATING ROBOTIC PROCESS ENVIRONMENTS
2y 5m to grant Granted Apr 07, 2026
Patent 12585442
Display Interface Layout Method and Electronic Device
2y 5m to grant Granted Mar 24, 2026
Patent 12578961
DYNAMIC REVIEW OF SOFTWARE UPDATES AFTER PULL REQUESTS
2y 5m to grant Granted Mar 17, 2026
Patent 12572344
Cloud-Phone-Based Application Installation Method, Cloud Platform, and Related Device
2y 5m to grant Granted Mar 10, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

5-6
Expected OA Rounds
86%
Grant Probability
99%
With Interview (+43.1%)
2y 9m
Median Time to Grant
High
PTA Risk
Based on 562 resolved cases by this examiner. Grant probability derived from career allow 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