Prosecution Insights
Last updated: July 17, 2026
Application No. 17/985,995

MACHINE LEARNING PIPELINE FOR DETERMINING DUPLICATE CRASH REPORTS IN SOFTWARE DEVELOPMENT

Non-Final OA §101§103
Filed
Nov 14, 2022
Examiner
KWON, JUN
Art Unit
2127
Tech Center
2100 — Computer Architecture & Software
Assignee
SAP SE
OA Round
3 (Non-Final)
40%
Grant Probability
Moderate
3-4
OA Rounds
12m
Est. Remaining
87%
With Interview

Examiner Intelligence

Grants 40% of resolved cases
40%
Career Allowance Rate
30 granted / 75 resolved
-15.0% vs TC avg
Strong +47% interview lift
Without
With
+46.6%
Interview Lift
resolved cases with interview
Typical timeline
4y 8m
Avg Prosecution
24 currently pending
Career history
105
Total Applications
across all art units

Statute-Specific Performance

§101
3.1%
-36.9% vs TC avg
§103
89.9%
+49.9% vs TC avg
§102
6.0%
-34.0% vs TC avg
§112
0.5%
-39.5% vs TC avg
Black line = Tech Center average estimate • Based on career data from 75 resolved cases

Office Action

§101 §103
Detailed Action This Office Action is in response to the remarks entered on 03/24/2026. Amendments to claims 1, 8, and 15 have been entered. Claims 1-20 are currently 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 . 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 an abstract idea without significantly more. Regarding claim 1, Step 1: Claim 1 recites a computer-implemented method for determining duplicate crash reports. Therefore, it is directed to the statutory category of processes. 2A Prong 1: extracting, from the set of crash reports, a set of stack traces, each stack trace corresponding to a respective crash report in the set of crash reports; (mental process of evaluation – selecting relevant data from the reports can be done with the aid of pen and paper) determining a set of trace vectors by inputting each stack trace of the set of stack traces for each stack trace, the first DL model generating frame representations of the stack trace and aggregating the frame representations to provide a respective trace vector, each trace vector in the set of trace vectors comprising a multi-dimensional vector representation of a stack trace of a respective crash report provided from the set of stack traces; (mental process of observation – determining a set of trace vectors is analogous to a person observing, selecting, and classifying trace vectors from a set of vectors, which can be done with the aid of a pencil and paper. Additionally, the limitation may be treated as mathematical concept of ‘Frame2Vec’ function in view of the specification [0038]) generating a set of feature vectors by processing the set of trace vectors clustering, each crash report in the set of crash reports into a group of a set of groups based on comparing feature vectors of respective crash reports, each group representative of a root cause resulting in respective crashes of the software system represented in one or more crash reports. (mental process of evaluation – a person who knows the art can manually classify crash report based on certain criteria and the process does not require a computer component) 2A Prong 2: A computer-implemented method for determining duplicate crash reports from a set of crash reports generated in response to respective crashes of a software system, the method being executed by one or more processors and comprising: (mere instructions to apply an exception using a generic computer component MPEP 2106.05(f)) receiving a set of crash reports, each crash report provided as a computer-readable file; (insignificant extra-solution activity MPEP 2106.05(g)(iii) of gathering statistics) determining … through a first deep learning (DL) model (mere instructions to apply an exception using a generic computer component MPEP 2106.05(f) – applying an exception using a computer implemented model) generating … through a second DL model (mere instructions to apply an exception using a generic computer component MPEP 2106.05(f) – applying an exception using a computer implemented model) clustering, by a clustering module that receives the set of feature vectors as output of the second DL model (mere instructions to apply an exception using a generic computer component MPEP 2106.05(f)) pushing a modification of source code of the software system to one or more devices, the modification provided from at least one crash report of at least one group of the set of groups. (mere instructions to apply an exception using a generic computer component MPEP 2106.05(f) – performing a abstract idea of modifying codes using a generic computer) The additional elements as disclosed above alone or in combination do not integrate the judicial exception into practical application as they are mere insignificant extra solution activity, combination of generic computer functions that are implemented to perform the disclosed abstract idea above. 2B: A computer-implemented method for determining duplicate crash reports from a set of crash reports generated in response to respective crashes of a software system, the method being executed by one or more processors and comprising: (mere instructions to apply an exception using a generic computer component MPEP 2106.05(f)) receiving a set of crash reports, each crash report provided as a computer-readable file; (indicated as an insignificant extra-solution activity MPEP 2106.05(g)(iii) in Step 2A Prong 2. The limitation is re-evaluated in Step 2B as well understood, routine and conventional activity MPEP 2106.05(d)(II)(iv) of gathering statistics) determining … through a first deep learning (DL) model (mere instructions to apply an exception using a generic computer component MPEP 2106.05(f) – applying an exception using a computer implemented model) generating … through a second DL model (mere instructions to apply an exception using a generic computer component MPEP 2106.05(f) – applying an exception using a computer implemented model) clustering, by a clustering module that receives the set of feature vectors as output of the second DL model (mere instructions to apply an exception using a generic computer component MPEP 2106.05(f)) pushing a modification of source code of the software system to one or more devices, the modification provided from at least one crash report of at least one group of the set of groups. (mere instructions to apply an exception using a generic computer component MPEP 2106.05(f) – performing a abstract idea of modifying codes using a generic computer) The additional elements as disclosed above in combination of the abstract idea are not sufficient to amount to significantly more than the judicial exception as they are well, understood, routine and conventional activity as disclosed in combination of generic computer functions and usage of elements that are implemented to perform the disclosed abstract idea above. Regarding claim 2, Step 1: Processes, as above. 2A Prong 1: The method of claim 1, further comprising pre-processing each crash report in the set of crash report to extract a respective stack trace that is included in the set of stack traces. (mental process of observation – determining a set of trace vectors is analogous to a person observing, selecting, and classifying trace vectors from a set of vectors, which can be done with the aid of a pencil and paper) 2A Prong 2: This judicial exception is not integrated into a practical application. 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. Regarding claim 3, Step 1: Processes, as above. 2A Prong 1: The method of claim 1, determining a sub-frame representation for each sub-frame in the set of sub- frames; and (mental process of observation – determining a set of trace vectors is analogous to a person observing, selecting, and classifying trace vectors from a set of vectors, which can be done with the aid of a pencil and paper) combining the sub-frame representations to provide a trace vector for the frame. (mental process of observation – determining a set of trace vectors is analogous to a person observing, selecting, and classifying trace vectors from a set of vectors, which can be done with the aid of a pencil and paper) 2A Prong 2: wherein processing the set of stack traces through the first DL model comprises (mere instructions to apply an exception using a generic computer component MPEP 2106.05(f) – applying an exception using a computer implemented model) 2B: wherein processing the set of stack traces through the first DL model comprises (mere instructions to apply an exception using a generic computer component MPEP 2106.05(f) – applying an exception using a computer implemented model) Regarding claim 4, Step 1: Processes, as above. 2A Prong 1: The method of claim 1, wherein generating the set of feature vectors by processing the set of trace vectors 2A Prong 2: processing the set of trace vectors through the second DL model comprises providing each trace vector as input to the second DL model and receiving a respective feature vector as output of the second DL model. (insignificant extra-solution activity MPEP 2106.05(g)(iii) of presenting offer and gathering statistics) 2B: processing the set of trace vectors through the second DL model comprises providing each trace vector as input to the second DL model and receiving a respective feature vector as output of the second DL model. (indicated as an insignificant extra-solution activity MPEP 2106.05(g)(iii) in Step 2A Prong 2. The limitation is re-evaluated in Step 2B as well understood, routine and conventional activity MPEP 2106.05(d)(II)(iv) of presenting offer and gathering statistics) Regarding claim 5, Step 1: Processes, as above. 2A Prong 1: wherein the second DL model is trained using a circle loss to minimize distances between anchor samples and positive samples and maximize distances between the anchor samples and negative samples, and a softmax loss based on predictions of a large-margin softmax layer. (in light of specification paragraph [0043-0044], mathematical concept) 2A Prong 2: The additional elements as disclosed above alone or in combination do not integrate the judicial exception into practical application as they are mere insignificant extra solution activity, combination of generic computer functions that are implemented to perform the disclosed abstract idea above. 2B: The additional elements as disclosed above in combination of the abstract idea are not sufficient to amount to significantly more than the judicial exception as they are well, understood, routine and conventional activity as disclosed in combination of generic computer functions and usage of elements that are implemented to perform the disclosed abstract idea above. Regarding claim 6, Step 1: Processes, as above. 2A Prong 1: Incorporates the rejection of claim 1. 2A Prong 2: wherein the second DL model comprises bidirectional long short-term memory (Bi-LSTM) layers, two fully-connected layers (linear), and a rectified linear unit (ReLU) layer. (a field of use and technological environment MPEP 2106.05(h)) 2B: wherein the second DL model comprises bidirectional long short-term memory (Bi-LSTM) layers, two fully-connected layers (linear), and a rectified linear unit (ReLU) layer. (a field of use and technological environment MPEP 2106.05(h)) Regarding claim 7, Step 1: Processes, as above. 2A Prong 1: Incorporates the rejection of claim 1. 2A Prong 2: wherein at least one group is used to debug the software system with respect to a respective root cause. (a field of use and technological environment MPEP 2106.05(h)) 2B: wherein at least one group is used to debug the software system with respect to a respective root cause. (a field of use and technological environment MPEP 2106.05(h)) Regarding claim 8, Step 1: Claim 8 recites a non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon. Therefore, it is directed to the statutory category of a machine. 2A Prong 1: Claim 8 is a non-transitory computer-readable storage medium claim having similar limitation to claim 1. Therefore, claim 8 is rejected under the same rationale as claim 1 above. 2A Prong 2: A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations determining duplicate crash reports from a set of crash reports generated in response to respective crashes of a software system, the operations comprising (mere instructions to apply an exception using a computer MPEP 2106.05(f)) 2B: A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations determining duplicate crash reports from a set of crash reports generated in response to respective crashes of a software system, the operations comprising (mere instructions to apply an exception using a computer MPEP 2106.05(f)) Claim 9 is a non-transitory computer-readable storage medium claim having similar limitation to claim 2. Therefore, claim 9 is rejected under the same rationale as claim 2 above. Claim 10 is a non-transitory computer-readable storage medium claim having similar limitation to claim 3. Therefore, claim 10 is rejected under the same rationale as claim 3 above. Claim 11 is a non-transitory computer-readable storage medium claim having similar limitation to claim 4. Therefore, claim 11 is rejected under the same rationale as claim 4 above. Claim 12 is a non-transitory computer-readable storage medium claim having similar limitation to claim 5. Therefore, claim 12 is rejected under the same rationale as claim 5 above. Claim 13 is a non-transitory computer-readable storage medium claim having similar limitation to claim 6. Therefore, claim 13 is rejected under the same rationale as claim 6 above. Claim 14 is a non-transitory computer-readable storage medium claim having similar limitation to claim 7. Therefore, claim 14 is rejected under the same rationale as claim 7 above. Regarding claim 15, Step 1: Claim 15 recites a system comprising: a computing device; and a computer-readable storage device. Therefore, it is directed to the statutory category of a machine. 2A Prong 1: Claim 15 is a system claim having similar limitation to claim 1. Therefore, claim 15 is rejected under the same rationale as claim 1 above. 2A Prong 2: A system, comprising: a computing device; and a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations for natural language explanations for determining duplicate crash reports from a set of crash reports generated in response to respective crashes of a software system, the operations comprising (mere instructions to apply an exception using a computer MPEP 2106.05(f)) 2B: A system, comprising: a computing device; and a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations for natural language explanations for determining duplicate crash reports from a set of crash reports generated in response to respective crashes of a software system, the operations comprising (mere instructions to apply an exception using a computer MPEP 2106.05(f)) Claim 16 is a system claim having similar limitation to claim 2. Therefore, claim 16 is rejected under the same rationale as claim 2 above. Claim 17 is a system claim having similar limitation to claim 3. Therefore, claim 17 is rejected under the same rationale as claim 3 above. Claim 18 is a system claim having similar limitation to claim 4. Therefore, claim 18 is rejected under the same rationale as claim 4 above. Claim 19 is a system claim having similar limitation to claim 5. Therefore, claim 19 is rejected under the same rationale as claim 5 above. Claim 20 is a system claim having similar limitation to claim 6. Therefore, claim 20 is rejected under the same rationale as claim 6 above. Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-4, 7-11 and 14-18 are rejected under 35 U.S.C. 103 as being unpatentable over Sudhindra A, et al (US 20230033084 A1, hereinafter ‘Sudhindra’) in view of Khvorov et al. (“S3M: Siamese Stack (Trace) Similarity Measure, 2021) and further in view of Dang et al. (“ReBucket: A Method for Clustering Duplicate Crash Reports Based on Call Stack Similarity”, 2012, hereinafter ‘Dang’). Regarding claim 1, Sudhindra teaches: A computer-implemented method for determining duplicate crash reports from a set of crash reports generated in response to respective crashes of a software system, the method being executed by one or more processors and comprising: ([Sudhindra, 0044 and 0053; Fig. 1 and Fig. 2] discloses classifying crash reports into a plurality of discrete groups. Crash reports classified into the same classification are ‘duplicate crash reports’. [Sudhindra, 0110-0112] collectively discloses that the system and/or method may be implemented on a hardware such as processors, ASICs and/or other circuitry that can execute software) receiving a set of crash reports, each crash report provided as a computer-readable file; ([Sudhindra, 0060 and 0065-0066] discloses each crash report in the data set of crash reports generally includes a stack trace identifying the functions invoked during execution of the software application (computer readable file), and are received by the first neural network) extracting, from the set of crash reports, a set of stack traces, each stack trace corresponding to a respective crash report in the set of crash reports; ([Sudhindra, 0026] discloses that when crash event is encountered, crash handler 114 generates the stack traces and the crash handler commits the recorded stack traced to crash data repository 140) determining a set of trace vectors by inputting each stack trace of the set of stack traces through a first deep learning (DL) model, for each stack trace, the first DL model generating frame representations of the stack traceeach trace vector in the set of trace vectors comprising a multi-dimensional vector representation of a stack trace of a respective crash report provided from the set of stack traces; ([Sudhindra, 0043 and 0051-0052; Fig. 1 and Fig. 2] The first machine learning model 136 (the first DL model) is trained to generate a latent space representation (vectors) of stack frames of an input crash report. The first machine learning model uses the crash report generated by mapping each stack frame (stack traces) in the crash report to a multi-dimensional space (multi-dimensional vector representations of a stack trace)) generating a set of [Sudhindra, 0047] and [Sudhindra, 0074] collectively disclose that crash report comparator 132 can use the third ML model (the second DL model) to assign a description of a classification of the classified crash reports received from the second DL model 138) clustering (classifying), ; and ([Sundhindra, 0044] discloses each group into which crash report comparator 132 classifies crash reports may be associated with one of a plurality of closely-associated crash reports, such as crash reports originating from particular functions in the software application, crash reports originating from particular modules in the software application (root cause resulting in respective crashes), or the like. The second ML model 138 (the clustering module) is utilized to classify the reports. Another algorithm (DL model) between the first ML model and the clustering module is taught by Khvorov and Dang) pushing a modification of source code of the software system to one or more devices, the modification provided from at least one crash report of at least one group of the set of groups. ([Sudhindra, 0019] and [0048] collectively disclose pushing modified (updated versions of the software application) from the test environment to the production environment based on the result from crash report comparator 132) However, Sudhindra does not specifically disclose: determining a set of trace vectors by … aggregating the frame representations to provide a respective trace vector, each trace vector in the set of trace vectors comprising a multi-dimensional vector representation of a stack trace of a respective crash report provided from the set of stack traces; generating a set of feature vectors by processing the set of trace vectors through a second DL model, each feature vector comprising a multi-dimensional vector representation of a stack trace of a respective crash report; clustering, by a clustering module that receives the set of feature vectors as output of the second DL model, each crash report in the set of crash reports into a group of a set of groups based on comparing feature vectors of respective crash reports. Khvorov teaches: determining a set of trace vectors by … aggregating the frame representations to provide a respective trace vector, each trace vector in the set of trace vectors comprising a multi-dimensional vector representation of a stack trace of a respective crash report provided from the set of stack traces; ([Khvorov, page 267, Figure 1] and [page 268, left col, B. Vector Representation of Stack Traces, lines 1-41] ‘v1: vector representation of StackTrace1’ and ‘v2: vector representation of StackTrace2’ are the set of trace vectors generated by inputting StackTrace1 and StackTrace2 into biLSTMs. The biLSTMs are the first deep learning model. The vector representations are concatenated to generate the resulting vector. [Khvorov, page 267, right col, A. Preprocessing: Tokenization and Trimming, lines 1-9] discloses that each stack trace is represented as a sequence of frames, and frames are aggregated by biLSTMs to generate the vector representations of StackTraces. [page 268, right col, D. Training, lines 11-16] The dimensions for embedding were set as 50, and this indicates that the vectors are multi-dimensional) generating a set of feature vectors by processing the set of trace vectors through a second [Khvorov, page 268, left col, B. Vector Representation of Stack Traces, lines 27-41] The feature vector is constructed based on an algorithm f e a t u r e s v 1 , v 2 = ( v 1 - v 2 ∙ v 1 + v 2 2 , v 1 ⨀ v 2 ) ) second algorithm) each crash report in the set of crash reports into a group of a set of groups based on comparing feature vectors of respective crash reports ([Khvorov, page 268, left col, last para, line 1 – right col, line 10] Another neural network measures the resulting similarity between the feature vectors of both stack traces. L i n e a r ( R e L U ( L i n e a r ( f e a t u r e s ) ) ) is interpreted as the clustering module that compares feature vectors of respective crash reports) It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to insert the method of extracting a set of stack trace and generating a set of feature vectors by processing the set of trace vectors using the second algorithm of Khvorov between the first ML model and the second ML model of Sudhindra to implement the present invention. The suggestion and/or motivation for doing so is to improve the accuracy of the method by avoiding issues caused by only showing previous tokens to the RNN [Khvorov, page 268, left col, B. Vector Representation of Stack Traces, 3rd and 4th para]. Using two LSTMs which accepts both a direct order and a reverse order token sequence allows the system to consider both the next token and previous token. However, Sudhindra in view of Khvorov does not specifically disclose: clustering, by a clustering module that receives the set of feature vectors as output of the second DL model Dang teaches: clustering, by a clustering module that receives the set of feature vectors as output of the second DL model ([Dang, page 1086, Figure 2; left col, IV. THE PROPOSED METHOD: REBUCKET, lines 4-10] The PDM model (the second DL model) measures similarity between call stacks using the Position Dependent Model. “The parameters used in PDM can be learned from a trained model constructed by using the historical bucket data” indicates that the PDM is a DL model. [Dang, page 1087, C. Clustering, lines 1-18] The Hierarchical clustering process clusters the feature vectors as output of the PDM model) It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to substitute the second algorithm disclosed in Khvorov to a DL model of Dang to implement the present invention. The suggestion and/or motivation for doing so is to improve the performance of the crash report clustering method by introducing ReBucket which achieved better overall performance than the existing methods [Dang, page 1084, Abstract]. Regarding claim 2, Sudhindra teaches: The method of claim 1, further comprising pre-processing each crash report in the set of crash report to extract a respective stack trace that is included in the set of stack traces. ([Sudhindra, 0051] discloses the application-specific multidimensional space mapping may include an auxiliary neuron, or other programmatic construct, configured to convert stack frames in a crash report to data in the multidimensional space (pre-processing), and the data in the multidimensional space may be received as input into the latent space representation generator 210 to generate the latent space representation (extract a respective stack trace) ) Regarding claim 4, Sudhindra teaches: The method of claim 1, wherein generating the set of feature vectors by processing the set of trace vectors through the second DL model comprises providing each trace vector as input to the second DL model and[Sudhindra, 0044 and 0053; Fig. 1 and Fig. 2] The latent space representations (a set of trace vectors) of input crash reports generated by the first machine learning model 136 input into a second machine learning model 138 (the second DL model), and crash report comparator 132 can use the second ML model to group the crash reports into a plurality of discrete groups and [Sudhindra, 0047 and 0074] the third ML model to assign textual description to the crash reports) However, Sudhindra in view of Khvorov does not specifically disclose: receiving a respective feature vector as output of the second DL model. Dang teaches: receiving a respective feature vector as output of the second DL model. ([Dang, page 1086, Figure 2; left col, IV. THE PROPOSED METHOD: REBUCKET, lines 4-10] The PDM model (the second DL model) measures similarity between call stacks using the Position Dependent Model. “The parameters used in PDM can be learned from a trained model constructed by using the historical bucket data” indicates that the PDM is a DL model. [Dang, page 1087, C. Clustering, lines 1-18] The Hierarchical clustering process clusters the feature vectors as output of the PDM model) Regarding claim 7, Sudhindra teaches: The method of claim 1, wherein at least one group is used to debug the software system with respect to a respective root cause. ([Sudhindra, 0044-0045] collectively discloses crash report comparator 132 determines the root cause of the crash and uses the groups of crash reports to determine what actions to perform with respect to the software application) Regarding claim 8, Sudhindra teaches: A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations determining duplicate crash reports from a set of crash reports generated in response to respective crashes of a software system, the operations comprising: ([Sudhindra, 0044 and 0053; Fig. 1 and Fig. 2] discloses classifying crash reports into a plurality of discrete groups. Crash reports classified into the same classification are ‘duplicate crash reports’. [Sudhindra, 0110-0112] collectively discloses that the system and/or method may be implemented on a hardware such as processors, ASICs and/or other circuitry that can execute software) Claim 8 is a non-transitory computer-readable storage medium claim having similar limitation to claim 1. Therefore, claim 8 is rejected under the same rationale as claim 1 above. Claim 9 is a non-transitory computer-readable storage medium claim having similar limitation to claim 2. Therefore, claim 9 is rejected under the same rationale as claim 2 above. Claim 11 is a non-transitory computer-readable storage medium claim having similar limitation to claim 4. Therefore, claim 11 is rejected under the same rationale as claim 4 above. Claim 14 is a non-transitory computer-readable storage medium claim having similar limitation to claim 7. Therefore, claim 14 is rejected under the same rationale as claim 7 above. Regarding claim 15, Sudhindra teaches: A system, comprising: a computing device; and a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations for natural language explanations for determining duplicate crash reports from a set of crash reports generated in response to respective crashes of a software system, the operations comprising: ([Sudhindra, 0044 and 0053; Fig. 1 and Fig. 2] discloses classifying crash reports into a plurality of discrete groups. Crash reports classified into the same classification are ‘duplicate crash reports’. [Sudhindra, 0110-0112] collectively discloses that the system and/or method may be implemented on a hardware such as processors, ASICs and/or other circuitry that can execute software) Claim 15 is a system claim having similar limitation to claim 1. Therefore, claim 15 is rejected under the same rationale as claim 1 above. Claim 16 is a system claim having similar limitation to claim 2. Therefore, claim 16 is rejected under the same rationale as claim 2 above. Claim 18 is a system claim having similar limitation to claim 4. Therefore, claim 18 is rejected under the same rationale as claim 4 above. Claims 3, 10 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Sudhindra in view of Khvorov in view of Dang and further in view of Clement et al. (US 20220245056 A1, hereinafter ‘Clement’). Regarding claim 3, Sudhindra teaches: The method of claim 1, wherein processing the set of stack traces through the first DL model comprises, for each stack trace and for each frame in a set of frames of the stack trace: ([Sudhindra, 0043 and 0051-0052; Fig. 1 and Fig. 2] The first machine learning model 136 (the first DL model) is trained to generate a latent space representation (trace vectors) of an input crash report) However, Sudhindra in view of Khvorov and further in view of Dang does not specifically disclose: segmenting a frame into a set of sub-frames; determining a sub-frame representation for each sub-frame in the set of sub- frames; and combining the sub-frame representations to provide a trace vector for the frame. Clement teaches: segmenting a frame into a set of sub-frames; ([Clement, 0062] The first encoder block 202 generates the first representation (sub-frame) of the input context tensor 214, and then pass the output representation to the next encoder block. The output of each encoder block is passed onto the next encoder block producing the set of hidden representations 221. [Clement, 0078] discloses that the stack trace contains several sub-frames) determining a sub-frame representation for each sub-frame in the set of sub- frames; and ([Clement, 0062] The first encoder block 202 generates the first representation (sub-frame) of the input context tensor 214, and then pass the output representation to the next encoder block. The output of each encoder block is passed onto the next encoder block (sub-frame representation for each sub-frame generated by the previous encoder) producing the set of hidden representations 221. [Clement, 0078] discloses that the stack trace contains several sub-frames) combining the sub-frame representations to provide a trace vector for the frame. ([Clement, 0062] The set of hidden representations (trace vector) generated by the final encoder block is passed onto each decoder block 204. [Clement, 0086] discloses that the neural transformer disclosed in [0062] combines generated subtokens by selecting the most probable subtoken. [Clement, 0078] discloses that the stack trace contains several sub-frames) It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to apply the method of segmenting a frame into a set of sub-frames, determining a representation of a sub-frame, and combining the representations by Clement to improve the performance of the crash reports clustering method of the present invention. The suggestion and/or motivation for doing so is to improve the performance of the ML model by increasing the model's capacity allowing the model to learn increasing levels of abstraction [Clement, 0048]. Claim 10 is a non-transitory computer-readable storage medium claim having similar limitation to claim 3. Therefore, claim 10 is rejected under the same rationale as claim 3 above. Claim 17 is a system claim having similar limitation to claim 3. Therefore, claim 17 is rejected under the same rationale as claim 3 above. Claims 5, 12 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Sudhindra in view of Khvorov in view of Dang and further in view of Xuan et al. (US 20230368031 A1, hereinafter ‘Xuan’) Regarding claim 5, Sudhindra teaches: The method of claim 1, wherein the second DL model is trained ([Sudhindra, 0063] The second neural network is trained at block 440) However, Sudhindra in view of Khvorov and further in view of Dang does not specifically disclose: DL model is trained using a circle loss to minimize distances between anchor samples and positive samples and maximize distances between the anchor samples and negative samples, and a softmax loss based on predictions of a large-margin softmax layer. Xuan teaches: DL model is trained using a circle loss to minimize distances between anchor samples and positive samples and maximize distances between the anchor samples and negative samples, and a softmax loss based on predictions of a large-margin softmax layer. ([Xuan, 0054] discloses the calculation of the similarity (distances) between the anchor item (either x or y) and another vector (either y or x). [Xuan, 0085-0086 and 0091] discloses utilizing a circle loss function to calculate the gradient. The circle loss function prevents the training result reaching a faulty local minima by applying a linear pair weight. For a negative pair, p_lin is relatively large if the similarity between its component vectors are relatively large, and is relatively small if the similarity is relatively small. For a positive pair, p_lin is relatively large when the similarity between the component vectors is relatively small, and is relatively small if the similarity is relatively large. [Xuan, 0102] Large-margin softmax loss can be used to calculate the gradient) It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to apply the method of training a ML model using a circle loss by Xuan to improve the performance of the crash reports clustering method of the present invention. The suggestion and/or motivation for doing so is to improve the accuracy of the trained ML model. According to Xuan, paragraph [0006-0007], the circle loss calculation disclosed in Xuan, [0054 and 0085-0086] improves accuracy of the machine-trained model and reduces errors produced by an application system. Claim 12 is a non-transitory computer-readable storage medium claim having similar limitation to claim 5. Therefore, claim 12 is rejected under the same rationale as claim 5 above. Claim 19 is a system claim having similar limitation to claim 5. Therefore, claim 19 is rejected under the same rationale as claim 5 above. Claims 6, 13 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Sudhindra in view of Khvorov in view of Dang and further in view of Zhao et al. (US 20230335107 A1, hereinafter ‘Zhao’) Regarding claim 6, Sudhindra teaches: The method of claim 1, wherein the second DL model comprises recurrent neural networks [Sudhindra, 0038] The second neural network is a recurrent neural network which includes LSTMs) However, Sudhindra in view of Khvorov and further in view of Dang does not specifically disclose: the second DL model comprises bidirectional long short-term memory (Bi-LSTM) layers, two fully-connected layers (linear), and a rectified linear unit (ReLU) layer. Zhao teaches: the second DL model comprises bidirectional long short-term memory (Bi-LSTM) layers, two fully-connected layers (linear), and a rectified linear unit (ReLU) layer. ([Zhao, 0019, 0103, Fig. 3; Table 7] discloses the connection of an input Prenet-1D convolutional layers (first neural network) and an Encoder-Decoder neural network (second neural network). The second neural network (encoder-decoder network) comprises bi-LSTM layers in encoder section, and the Decoder PreNet comprises two fully-connected layers (FC layers) each has 256 ReLU units) It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to apply the method of configuring the second DL model using bidirectional long short-term memory (Bi-LSTM) layers, two fully-connected layers (linear), and a rectified linear unit (ReLU) layer by Zhao to improve the performance of the crash reports clustering method of the present invention. The suggestion and/or motivation for doing so is to improve the performance of the trained ML model by avoiding vanishing gradient problem specific in RNNs LSTMs by introducing ReLUs. Claim 13 is a non-transitory computer-readable storage medium claim having similar limitation to claim 6. Therefore, claim 13 is rejected under the same rationale as claim 6 above. Claim 20 is a system claim having similar limitation to claim 6. Therefore, claim 20 is rejected under the same rationale as claim 6 above. Response to Arguments Applicant's arguments filed 10/27/2025 have been fully considered but they are not persuasive. Response to Arguments under 35 U.S.C. 101 Arguments: Applicant asserts that (a) the subject matter of claims 1-20 cannot practically be performed in the human mind because the human mind is not equipped to perform the claim limitations [Remarks, pages 8-9], (b) the description of technical improvements achieved by the subject matter of the instant application cannot be reasonably described as “conclusory”, and (c) Applicant asserts that according to a recent decision by the Appeal Review Panel (ARP) of the PTAB, in Ex Parte Desjardins, the subject matter of claims 1-20 achieves multiple technical improvements in computer functionality [Remarks, page 9]. Examiner’s Response: Regarding (a), the claim recites extracting (selecting) from the set of reports, a set of stack traces, determining a set of trace vectors, generating a set of feature vectors using the trace vectors, and clustering the feature vectors, which are merely a series of evaluation processes. Therefore, the claim limitations are directed to mental process which can be done with the aid of pen and paper. Regarding (b), the Examiner respectfully disagrees. The claims are not directed to an improvement to computer functionality at least for the reasons discussed in Final Rejection. MPEP 2106.05(a) states that “If it is asserted that the invention improves upon conventional functioning of a computer, or upon conventional technology or technological processes, a technical explanation as to how to implement the invention should be present in the specification. That is, the disclosure must provide sufficient details such that one of ordinary skill in the art would recognize the claimed invention as providing an improvement. The specification need not explicitly set forth the improvement, but it must describe the invention such that the improvement would be apparent to one of ordinary skill in the art. Conversely, if the specification explicitly sets forth an improvement but in a conclusory manner (i.e., a bare assertion of an improvement without the detail necessary to be apparent to a person of ordinary skill in the art), the examiner should not determine the claim improves technology.” Examiner performed the evaluation above and concluded that the specification set forth the improvement but in a conclusory manner. The specification merely discloses experiment results without technological details necessary to be apparent to a person of ordinary skill in the art. Regarding (c), the Examiner respectfully reiterates that Ex Parte Desjardins is distinguishable from the instant application, and the claims are not directed to an improvement to computer functionality as discussed in argument (b). Accordingly, the arguments to claim 1 are not persuasive. Similarly, the arguments to claims 8 and 15 are not persuasive. Therefore, the arguments to dependent claims 2-7, 9-14 and 16-20 are not persuasive. Response to Arguments under 35 U.S.C. 103 Arguments: Applicant asserts that (a) Ma purpots to prove improvements to conventional RPA, not the subject matter of the instant application [Remarks, page 4], (b) ‘latent space representation’ is not the ‘trace vectors generated through a first DL model’ [Remarks, page 5], (c) both Ma and Sudhindra fails to teach “generating a set of feature vectors by processing the set of trace vectors through a second DL model, each feature vector comprising a multi-dimensional vector representation of a stack trace of a respective crash report’ [Remarks, page 6]. Examiner’s Response: Applicant’s arguments with respect to claim 1 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to JUN KWON whose telephone number is (571)272-2072. The examiner can normally be reached Monday – Friday 7:30AM – 4:30PM ET. 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, Abdullah Kawsar can be reached at (571)270-3169. 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. /JUN KWON/Examiner, Art Unit 2127 /ABDULLAH AL KAWSAR/Supervisory Patent Examiner, Art Unit 2127
Read full office action

Prosecution Timeline

Nov 14, 2022
Application Filed
Aug 08, 2025
Non-Final Rejection mailed — §101, §103
Oct 27, 2025
Response Filed
Jan 27, 2026
Final Rejection mailed — §101, §103
Mar 24, 2026
Response after Non-Final Action
Apr 03, 2026
Request for Continued Examination
Apr 09, 2026
Response after Non-Final Action
May 29, 2026
Non-Final Rejection mailed — §101, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12645918
TASK SKEW MANAGEMENT FOR NEURAL PROCESSOR CIRCUIT
5y 10m to grant Granted Jun 02, 2026
Patent 12639581
METHOD AND APPARATUS FOR DATA-FREE NETWORK QUANTIZATION AND COMPRESSION WITH ADVERSARIAL KNOWLEDGE DISTILLATION
5y 8m to grant Granted May 26, 2026
Patent 12632739
TEXT-BASED EVENT DETECTION METHOD AND APPARATUS, COMPUTER DEVICE, AND STORAGE MEDIUM
4y 10m to grant Granted May 19, 2026
Patent 12614085
Extensible Software Tool with Customizable Machine Prediction
7y 5m to grant Granted Apr 28, 2026
Patent 12608602
DEVICE AND METHOD FOR DEFECT INSPECTION BASED ON EXPLAINABLE ARTIFICIAL INTELLIGENCE
4y 10m to grant Granted Apr 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
40%
Grant Probability
87%
With Interview (+46.6%)
4y 8m (~12m remaining)
Median Time to Grant
High
PTA Risk
Based on 75 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