Prosecution Insights
Last updated: October 26, 2026
Application No. 18/776,667

SYSTEM AND METHODS FOR CONTEXTUAL DEBUGGING OF COMPUTER PROGRAMS

Non-Final OA §101§103§112
Filed
Jul 18, 2024
Examiner
AGUILERA, TODD
Art Unit
2192
Tech Center
2100 — Computer Architecture & Software
Assignee
Shopify Inc.
OA Round
1 (Non-Final)
58%
Grant Probability
Moderate
1-2
OA Rounds
1y 5m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 58% of resolved cases
58%
Career Allowance Rate
294 granted / 511 resolved
+2.5% vs TC avg
Strong +57% interview lift
Without
With
+56.9%
Interview Lift
resolved cases with interview
Typical timeline
3y 8m
Avg Prosecution
31 currently pending
Career history
558
Total Applications
across all art units

Statute-Specific Performance

§101
14.2%
-25.8% vs TC avg
§103
46.6%
+6.6% vs TC avg
§102
10.1%
-29.9% vs TC avg
§112
27.9%
-12.1% vs TC avg
Black line = Tech Center average estimate • Based on career data from 511 resolved cases

Office Action

§101 §103 §112
DETAILED ACTION Remarks The present application was filed 18 July 2024. Claims 1-20 are pending. 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 . Examiner Notes Examiner cites particular columns, paragraphs, figures 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 their 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. 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. Specification The disclosure is objected to because of the following informalities: It uses the trademarks JAVASCRIPT in paragraph [0087] without capitalizing every letter of the mark or, or, where appropriate, include a proper symbol indicating use in commerce such as ™, SM, or ® following the term. See M.P.E.P. § 608.01(v). Drawings The drawings are objected to as failing to comply with 37 CFR 1.84(p)(5) because they include the following reference character(s) not mentioned in the description: 155 (Fig. 1), 202 (Fig. 2A), 408, 410 (Fig. 4), 132 (Fig. 6). The drawings are objected to as failing to comply with 37 CFR 1.84(p)(4) because: reference character “100” has been used to designate both the system of Figure 1 and the e-commerce platform of Figure 6; reference character “110” has been used to designate both the client device of Figure 1 and the channels of Figure 6; reference character “120” has been used to designate both the network of Figure 1 and the payments of Figure 6; reference character “140” has been used to designate both the worker node of Figure 1 and the interfaces of Figure 6; and reference character “150” has been used to designate both the debug server of Figure 1 and the user device of Figure 6. Corrected drawing sheets in compliance with 37 CFR 1.121(d), and/or amendment to the specification in compliance with 37 CFR 1.121(b) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance. Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(d): (d) REFERENCE IN DEPENDENT FORMS.—Subject to subsection (e), a claim in dependent form shall contain a reference to a claim previously set forth and then specify a further limitation of the subject matter claimed. A claim in dependent form shall be construed to incorporate by reference all the limitations of the claim to which it refers. The following is a quotation of pre-AIA 35 U.S.C. 112, fourth paragraph: Subject to the following paragraph [i.e., the fifth paragraph of pre-AIA 35 U.S.C. 112], a claim in dependent form shall contain a reference to a claim previously set forth and then specify a further limitation of the subject matter claimed. A claim in dependent form shall be construed to incorporate by reference all the limitations of the claim to which it refers. Claims 6-9 are rejected under 35 U.S.C. 112(d) or pre-AIA 35 U.S.C. 112, 4th paragraph, as being of improper dependent form for failing to further limit the subject matter of the claim upon which it depends, or for failing to include all the limitations of the claim upon which it depends. Applicant may cancel the claim(s), amend the claim(s) to place the claim(s) in proper dependent form, rewrite the claim(s) in independent form, or present a sufficient showing that the dependent claim(s) complies with the statutory requirements. As to claims 6-9, all limitations of these claims are contingent limitations because they all further describe the contingent step of “formatting the error message to indicate the generic template code error” of method claim 1. Under the broadest reasonable interpretation, contingent steps are not required by the claim. See M.P.E.P. § 2111.04(II). Thus, under the broadest reasonable interpretation, claims 6-9 do not further limit their respective parent claims. To address this issue, examiner suggests perhaps amending claim 1 to require generating both a first error message for a first error in the custom code section and a second error message for a second error in the template code section. 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-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception without significantly more. As to claim 1, the claim recites: a computer-implemented method, comprising: obtaining a stack trace associated with an error detected in connection with execution of a computer program by a processor; determining a location of the error within source code of the computer program based on the stack trace, wherein the source code contains a template code section and a custom code section; generating an error message for the error, wherein the generating includes: in response to determining that the error is located in the custom code section, appending a first representation of the stack trace to the error message; and in response to determining that the error is located in the template code section, formatting the error message to indicate a generic template code error, and presenting the error message via a computing device. Although a process is claimed (Step 1), under the broadest reasonable interpretation in light of the specification the above underlined elements recite a mental process because they describe a process performable by the human mind with aid of pen and paper. The claim therefore recites an abstract idea. (Step 2A Prong 1). None of the additional elements integrate the judicial exception into a practical application. (Step 2A Prong 2). Reference to the method as “computer-implemented” and presenting the error message “via a computing device” only amounts to mere instructions to implement the abstract idea on a computer. See M.P.E.P. § 2106.05(f). Looking at the claim limitations as an ordered combination yields the same conclusion as that reached when looking at the elements individually. Their collective function is merely to implement the abstract idea using a generic computer. The claim does not include additional elements that amount to significantly more than the judicial exception for substantially the same reasons discussed above with respect to a practical application. (Step 2B). As to claims 2-4, and 6-10, the features of these claims do not integrate the abstract idea into a practical application or amount to significantly more at least because they only further describe steps performable by the human mind with aid of pen and paper and therefore only further describe the abstract idea itself. As to claim 5¸ the features of this claim do not integrate the abstract idea into a practical application or amount to significantly more at least because storing the information recited in memory is only a nominal or tangential addition to the claims, i.e., extra-solution activity. Storing information in memory is also recognized by courts as well-understood, routine and conventional. See M.P.E.P. §2106.05(d)(II). As to claim 11, the claim recites the same abstract idea as claim 1 and does not include additional elements that integrate abstract idea into a practical application or amount to significantly more than the abstract idea for substantially the same reasons. The addition of “a processor, a memory coupled to the processor, the memory storing processor-executable instructions that, when executed by the processor, configure the processor to” perform the operations only amounts to mere instructions to implement this step of the abstract idea using a generic computer. See M.P.E.P. § 2106.05(f). As to claims 12-19, the features of this claim do not integrate the abstract idea into a practical application or amount to significantly more for reasons substantially the same as those set forth above with respect to claims 2-3 and 5-10. As to claim 20, the claim recites the same abstract idea as claim 1 and does not include additional elements that integrate abstract idea into a practical application or amount to significantly more than the abstract idea for substantially the same reasons. The addition of “a non-transitory, computer-readable medium storing instructions that, when executed by a processor, configure the processor to” perform the steps only amounts to mere instructions to implement this step of the abstract idea using a generic computer. See M.P.E.P. § 2106.05(f). 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, 11 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Antony “A Deep Dive into Flask Templates” (art made of record – hereinafter Antony) in view of Brunkhorst et al. (US 2012/0284698) (art made of record – hereinafter Brunkhorst) and Poudel “Hacking the Debugging Pin of a Flash Application” (art made of record – hereinafter Poudel). As to claim 1, Antony discloses a computer-implemented method, comprising: obtaining a stack trace associated with an error detected in connection with execution of a computer program by a processor; (e.g., Antony, p. 28 “Template testing and debugging…Interactive debugger”: Flash ships with an interactive debugger called Werkzeug. If an unhandled exception occurs when a template is being rendered, the debugger prints a stack trace pinpointing the cause of the issue) wherein the source code contains a template code section and a custom code section; (e.g., Antony, p. 4, “An Introduction to Flask Templates”: one of the key features of Flash is its powerful templating engine, which enables us to separate the presentation logic from the application logic in our web applications. Flask templates are built on the Jinja2 template engine. They enable us to create interactive web pages by combining HTML [template code section] and Python code [custom code section]) generating an error message for the error, (see below) wherein the generating includes: in response to determining that the error is located in the template code section, formatting the error message to indicate a generic template code error, (e.g., Antony, p 28 “Template testing and debugging”: Flask ships with an interactive debugger called Werkzeug. If an unhandled exception occurs when a template is being rendered, the debugger is automatically activated in the browser and prints a stack trace pinpointing the cause of the issue [generic at least because it is applicable to any template error and not limited to specific template errors]) and presenting the error message via a computing device. (e.g., Antony, p 28 “Template testing and debugging”: The debugger prints a stack trace pinpointing the cause of the issue). Antony does not explicitly disclose determining a location of the error within source code of the computer program based on the stack trace, or in response to determining that the error is located in the custom code section, appending a first representation of the stack trace to the error message. However, in an analogous art, Brunkhorst discloses: determining a location of the error within source code of the computer program based on the stack trace, (e.g., Brunkhorst, par. [0030]: the stack storage area 214 may store one or more thread stacks that support operation of applications. A thread stack may be analyzed to identify code sections of interest associated with detected errors; par. [0055]: stack analysis may be used to identify application code sections and locations of errors that have been detected). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify to modify the debugging and stack trace of Antony, to include determining a location of the error within source code of the computer program based on the stack trace, as taught by Brunkhorst, as Brunkhorst would provide the advantage of a means of determining a debug entry point of the error. (See Brunkhorst, par. [0052]). Further, in an analogous art, Poudel discloses: in response to determining that the error is located in the custom code section, appending a first representation of the stack trace to the error message (e.g., Poudel, p. 1 last 2 lines and figure on following page: typically, an error looks like this in your application if you have debugger mode active [see figure, the error message includes a traceback (stack trace) and the last entry of the traceback indicates the error is in test.py, a python file (custom code section)]). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify to modify the debugging and stack trace of Antony, to include in response to determining that the error is located in the custom code section, appending a first representation of the stack trace to the error message, as taught by Poudel, as Poudel would provide the advantage of a means of identifying the location of a custom code bug. (See Poudel, p. 2 first figure). As to claim 11, it is system claim having limitations substantially the same as those of claim 1. Accordingly, it is rejected for substantially the same reasons. Further limitations, disclosed by Brunkhorst include: a computing system, (see immediately below) comprising: a processor; (see immediately below) a memory coupled to the processor, the memory storing processor-executable instructions that, when executed by the processor configure the processor to perform the method (e.g., Brunkhorst, par. [0076]: computer program instructions may be provided to a processor of a computer, such that the instructions, which execute via the processor of the computer, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks; par. [0077]: these instructions may be stored in a computer-readable medium; par. [0072]: examples of a computer readable storage medium would include random access memory). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the method of Antony, to include a computer system comprising a processor and a memory coupled to the processor, storing processor-executable instructions that, executed by the processor configure the processor to perform the process, as taught by Brunkhorst, as Brunkhorst would provide the advantage of a means of performing the process automatically on a general purpose computer. (See Brunkhorst, par. [0076]). Antony also suggests the combination because Antony describes software, which is necessarily stored in memory and executed via a processor. As to claim 20, it is medium claim having limitations substantially the same as those of claim 1. Accordingly, it is rejected for substantially the same reasons. Further limitations, disclosed by Brunkhorst include: a non-transitory, computer-readable medium storing instructions that, when executed by a processor, configure the processor to perform the method (e.g., Brunkhorst, par. [0076]: computer program instructions may be provided to a processor of a computer, such that the instructions, which execute via the processor of the computer, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks; par. [0077]: these instructions may be stored in a computer-readable medium; par. [0072]: examples of a computer readable storage medium would include random access memory). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the method of Antony, to include a non-transitory, computer-readable medium storing instructions that, when executed by a processor, configure the processor to perform the method, as taught by Brunkhorst, as Brunkhorst would provide the advantage of a means of performing the process automatically on a general purpose computer. (See Brunkhorst, par. [0076]). Antony also suggests the combination because Antony describes software, which is necessarily stored in a non-transitory medium and executed via a processor. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. In particular, the Johnson document is cited because it describes presenting a stack trace for template errors at pp. 10 and 14. Any inquiry concerning this communication or earlier communications from the examiner should be directed to TODD AGUILERA whose telephone number is (571)270-5186. The examiner can normally be reached M-F 11AM - 7:30PM 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, Hyung S Sough can be reached at (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. /TODD AGUILERA/Primary Examiner, Art Unit 2192
Read full office action

Prosecution Timeline

Jul 18, 2024
Application Filed
Jul 28, 2026
Non-Final Rejection mailed — §101, §103, §112
Oct 07, 2026
Interview Requested
Oct 20, 2026
Examiner Interview Summary
Oct 20, 2026
Applicant Interview (Telephonic)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12761888
SYSTEMS AND METHODS FOR FRONTEND WEB APPLICATION CREATION FOR A CLOUD COMPUTING PLATFORM
3y 9m to grant Granted Oct 13, 2026
Patent 12754829
USER INTERFACE (UI) BOUND ODATA AUTOMATION WITH ADVANCED DATA MAPPING ALGORITHIM
3y 5m to grant Granted Oct 06, 2026
Patent 12737174
DEVICE FIRMWARE DESCRIPTORS
3y 8m to grant Granted Sep 15, 2026
Patent 12724602
UPDATING IMAGE FILES
3y 5m to grant Granted Sep 01, 2026
Patent 12688115
DYNAMIC FUNCTIONAL TESTING TOOL
2y 9m 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

1-2
Expected OA Rounds
58%
Grant Probability
99%
With Interview (+56.9%)
3y 8m (~1y 5m remaining)
Median Time to Grant
Low
PTA Risk
Based on 511 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