Prosecution Insights
Last updated: October 04, 2026
Application No. 18/589,818

DETERMINING SOURCE CODE OF A SOFTWARE CODE

Non-Final OA §101§103§112
Filed
Feb 28, 2024
Examiner
DUAN, VIVIAN WEIJIA
Art Unit
2191
Tech Center
2100 — Computer Architecture & Software
Assignee
Cylance Inc.
OA Round
2 (Non-Final)
73%
Grant Probability
Favorable
2-3
OA Rounds
2m
Est. Remaining
89%
With Interview

Examiner Intelligence

Grants 73% — above average
73%
Career Allowance Rate
16 granted / 22 resolved
+17.7% vs TC avg
Strong +16% interview lift
Without
With
+16.1%
Interview Lift
resolved cases with interview
Typical timeline
2y 9m
Avg Prosecution
13 currently pending
Career history
43
Total Applications
across all art units

Statute-Specific Performance

§101
26.3%
-13.7% vs TC avg
§103
44.8%
+4.8% vs TC avg
§102
7.3%
-32.7% vs TC avg
§112
19.8%
-20.2% vs TC avg
Black line = Tech Center average estimate • Based on career data from 22 resolved cases

Office Action

§101 §103 §112
P is DETAILED ACTION This action is in response to the claims filed April 14, 2026. Claims 1, 3, 6-8, 10, 13-15, 17, and 20 are pending. Claims 1, 8, and 15 are independent claims. Claims 1, 3, 8, 10, 15, and 17 have been amended. Claims 2, 4-5, 9, 11-12, 16, and 18-19 have been cancelled. The objections to the specification are withdrawn in view of Applicant’s amendment to the specification. The rejection under 35 U.S.C. 101 are withdrawn in view of Applicant’s amendments to the claims. 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 § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claims 10, 13, and 14 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Claim 10 recites the limitation "The computer-readable medium" in line 1. There is insufficient antecedent basis for this limitation in the claim. For the purposes of examination, “the computer-readable medium” is interpreted to read “the non-transitory computer-readable medium” as is consistent with the language of claim 8. Claim 13 recites the limitation "The computer-readable medium" in line 1. There is insufficient antecedent basis for this limitation in the claim. For the purposes of examination, “the computer-readable medium” is interpreted to read “the non-transitory computer-readable medium” as is consistent with the language of claim 8. Claim 14 recites the limitation "The computer-readable medium" in line 1. There is insufficient antecedent basis for this limitation in the claim. For the purposes of examination, “the computer-readable medium” is interpreted to read “the non-transitory computer-readable medium” as is consistent with the language of claim 8. 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, 3, 7, 8, 10, 14, 15, and 17 are rejected under 35 U.S.C. 103 as being unpatentable over “CodeCMR: Cross-Modal Retrieval for Function-Level Binary Source Code Matching” by Yu et. al (hereinafter “Yu”), in view of “Extending Source Code Pre-Trained Language Models to Summarize Decompiled Binaries” by Al-Kaswan et. al (hereinafter “Al-Kaswan”). Regarding claim 1, Yu discloses: - processing a binary code by using a file encoder model to obtain a file embedding vector (Page 3, “A neural network-based approach called Gemini [21] proposes a GNN model to learn the binary embedding. Yu et al. (2020) uses BERT pre-training methods [42] to learn the semantic features from the node embeddings”; Page 4, “Both source code and binary code have three inputs: semantic input (character-level source code and CFGs), string input, and integer input. These inputs are fed into different encoders. For character-level source code, we use DPCNN[15] with the global average pooling method to extract the semantic features. For CFGs, we propose a GNN model with HBMP node embeddings, using GGNN [32] message passing method and Set2Set [33] graph pooling method to compute the graph embedding. Also, we propose two neural network-based models to extract the string features and integer features. After calculating the embeddings of the three inputs of source code and binary code, we adopt a simple alignment method, that is, concatenate and batch normalization [34]. Then we design a new negative sampling method called "norm weighted sampling", which could change the selection probabilities based on each distribution. At last, we use the triplet loss [35] to make the positive pair’s similarity larger than the negative pair’s similarity. We want to assure that the distance D(A, P) between the anchor (source/binary code) and the positive sample (its corresponding binary/source code) is closer than the distance D(A, N) between the anchor and the negative sample (any other binary/source code). And a distance margin is used to separate the positive pair from the negative”) [Examiner’s remarks: Binary code is embedded, either through a pretrained model or through other neural network-based models to extract an embedding of the binary code.]; - selecting one or more source code samples based on the file embedding vector and a distance function, wherein the file encoder model comprises a pretrained embedding model followed by a translator model, wherein the pretrained embedding model is a first machine learning model that takes the binary code as direct input to generate a code embedding vector, and the translator model maps the code embedding vector to a dimension that is the same as a dimension of a source code embedding vector of the one or more source code samples (Abstract, “Binary source code matching, especially on function-level, has a critical role in the field of computer security. Given binary code only, finding the corresponding source code improves the accuracy and efficiency in reverse engineering [selecting one or more source code samples]”; Page 3, “A neural network-based approach called Gemini [21] proposes a GNN model to learn the binary embedding. Yu et al. (2020) uses BERT pre-training methods [42] to learn the semantic features from the node embeddings”; Page 4, “Both source code and binary code have three inputs: semantic input (character-level source code and CFGs), string input, and integer input. These inputs are fed into different encoders. For character-level source code, we use DPCNN[15] with the global average pooling method to extract the semantic features. For CFGs, we propose a GNN model with HBMP node embeddings, using GGNN [32] message passing method and Set2Set [33] graph pooling method to compute the graph embedding. Also, we propose two neural network-based models to extract the string features and integer features. After calculating the embeddings of the three inputs of source code and binary code, we adopt a simple alignment method, that is, concatenate and batch normalization [34]. Then we design a new negative sampling method called "norm weighted sampling", which could change the selection probabilities based on each distribution. At last, we use the triplet loss [35] to make the positive pair’s similarity larger than the negative pair’s similarity. We want to assure that the distance D(A, P) between the anchor (source/binary code) and the positive sample (its corresponding binary/source code) is closer than the distance D(A, N) between the anchor and the negative sample (any other binary/source code). And a distance margin is used to separate the positive pair from the negative [based on the file embedding vector and a distance function, wherein the file encoder model comprises a pretrained embedding model followed by a translator model, wherein the pretrained embedding model is a first machine learning model that takes the binary code as direct input to generate a code embedding vector, and the translator model maps the code embedding vector to a dimension that is the same as a dimension of a source code embedding vector of the one or more source code samples]”) [Examiner’s remarks: Two models are used on the binary, one being a pre-trained model (BERT) to generate embeddings and the second being a sequence of models to translate the embedding into the same dimension as the source code embeddings with a calculatable distance. More similar code (positive samples) have a smaller distance than different code (negative samples), allowing for selection of the correct code samples based on distance between the embeddings.]; and Yu does not explicitly disclose: - outputting a description of the binary code based on the one or more source code samples. However, Al-Kaswan discloses: - outputting a description of the binary code based on the one or more source code samples (Page 261, “To summarise, the main contributions of this paper are: … BinT5, a Binary summarisation CodeT5 model, a simple and straightforward adaptation of a source code trained code summarisation model to decompiled code using CAPYBARA (Section IV)”) [Examiner’s remarks: A description of the binary (summarization) is generated based on source code samples (decompiled code).]. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Al-Kaswan into the teachings of Yu to include “outputting a description of the binary code based on the one or more source code samples”. As stated in Al-Kaswan, “Source code summarisation is used to automatically generate short natural language descriptions of code, which support program comprehension and aid maintenance” (Page 260). Code may be difficult to understand, and decompiled code even more so due to characteristics lacking when reverse engineering machine code. Automated generation of code summaries for this code aids in developer understanding of code without excess time consumption. Therefore, it would be obvious to one of ordinary skill in the art to combine source code generation from binary code with natural language summary generation. Regarding claim 3, the rejection of claim 1 is incorporated; and Yu further discloses: - wherein the source code embedding vector is generated by using a text language model (Page 3, “A neural network-based approach called Gemini [21] proposes a GNN model to learn the binary embedding. Yu et al. (2020) uses BERT pre-training methods [42] to learn the semantic features from the node embeddings”; Page 4, “Both source code and binary code have three inputs: semantic input (character-level source code and CFGs), string input, and integer input. These inputs are fed into different encoders. For character-level source code, we use DPCNN[15] with the global average pooling method to extract the semantic features. For CFGs, we propose a GNN model with HBMP node embeddings, using GGNN [32] message passing method and Set2Set [33] graph pooling method to compute the graph embedding. Also, we propose two neural network-based models to extract the string features and integer features. After calculating the embeddings of the three inputs of source code and binary code, we adopt a simple alignment method, that is, concatenate and batch normalization) [Examiner’s remarks: Text models, including BERT and other embedding methods may be used to process source code.]. Regarding claim 7, the rejection of claim 1 is incorporated; and Yu does not explicitly disclose: - generating a text description of the binary code based on the one or more source code samples by using a large language model (LLM). However, Al-Kaswan discloses: - generating a text description of the binary code based on the one or more source code samples by using a large language model (LLM) (Page 261, “To summarise, the main contributions of this paper are: … BinT5, a Binary summarisation CodeT5 model, a simple and straightforward adaptation of a source code trained code summarisation model to decompiled code using CAPYBARA (Section IV) [generating a text description of the binary code based on the one or more source code samples by using a large language model (LLM)]”). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Al-Kaswan into the teachings of Yu to include “generating a text description of the binary code based on the one or more source code samples by using a large language model (LLM)”. As stated in Al-Kaswan, “Source code summarisation is used to automatically generate short natural language descriptions of code, which support program comprehension and aid maintenance” (Page 260). Code may be difficult to understand, and decompiled code even more so due to characteristics lacking when reverse engineering machine code. Automated generation of code summaries for this code aids in developer understanding of code without excess time consumption. Therefore, it would be obvious to one of ordinary skill in the art to combine source code generation from binary code with natural language summary generation. Claims 8, 10, and 14 are computer-readable medium claims corresponding to the method claims hereinabove (claims 1, 3, and 7). Therefore, claims 8, 10, and 14 are rejected for the same reasons as set for the in the rejection of claims 1, 3, and 7. Claims 15 and 17 are system claims corresponding to the method claims hereinabove (claims 1 and 3). Therefore, claims 15 and 17 are rejected for the same reasons as set for the in the rejection of claims 1 and 3. Claims 6, 13, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over “CodeCMR: Cross-Modal Retrieval for Function-Level Binary Source Code Matching” by Yu et. al (hereinafter “Yu”), in view of “Extending Source Code Pre-Trained Language Models to Summarize Decompiled Binaries” by Al-Kaswan et. al (hereinafter “Al-Kaswan”), further in view of DE 102014118240 A1 (hereinafter “Eschweiler”). Regarding claim 6, the rejection of claim 1 is incorporated; and the combination of Yu and Al-Kaswan does not explicitly disclose: - wherein the one or more source code samples are selected by using a k-nearest neighbors algorithm (k-NN). However, Eschweiler discloses: - wherein the one or more source code samples are selected by using a k-nearest neighbors algorithm (k-NN) (Paragraph [0009], “By comparing the information about the non-numerical properties of the program fragments of the computer program with the information about the non-numerical properties of the program fragments from the subset of the original set of program fragments, the subset could, in exemplary embodiments, be further restricted based on a further similarity condition. If the subset contains only one or very few program fragments, these could be compared in more detail, or an equivalence between program fragments could be determined”; Paragraph [0011], “In some implementation examples, the program fragments of the subset could be selected based on a K-nearest neighbors algorithm. In some implementations, a K-nearest neighbors algorithm could select program fragments whose numerical properties are similar, which could increase the probability of equivalence with the program fragment of the computer program”; Paragraph [0104], “The program code or data can be in the form of source code, machine code, bytecode, or other intermediate code, among other formats” [wherein the one or more source code samples are selected by using a k-nearest neighbors algorithm (k-NN)]) [Examiner’s remarks: Eschweiler discloses selecting one or more similar source codes (program fragments) based on a k-nearest neighbors algorithm.]. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Eschweiler into the combined teachings of Yu and Al-Kaswan to include “wherein the one or more source code samples are selected by using a k-nearest neighbors algorithm (k-NN)”. As stated in Eschweiler, “Due to the multitude of different platforms, the multitude of different compilers, and the multitude of optimization possibilities, the compiled file, in the form of binary code or bytecode, can exhibit large differences, even though it contains the program instructions of the program code. These differences complicate the analysis of binary code, as a simple search for binary patterns in binary code is often insufficient to identify known or interesting groups of instructions.” (Paragraph [0005]). Code, especially decompiled code may be difficult to analyze despite the need for analysis. Automation by selecting the most similar code using a machine learning model reduces the amount of human labor necessary to determine if code has the same functionality. Therefore, it would be obvious to one of ordinary skill in the art to combine source code generation from binary code with a kNN means of finding similar source code.. Claim 13 is a computer-readable medium claim corresponding to the method claim hereinabove (claim 6). Therefore, claim 13 is rejected for the same reasons as set for the in the rejection of claim 6. Claim 20 is a system claim corresponding to the method claim hereinabove (claim 6). Therefore, claim 20 is rejected for the same reasons as set for the in the rejection of claim 6. Response to Arguments Applicant’s arguments with respect to claim(s) 1, 3, 6-8, 10, 13-15, 17, and 20 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 Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to VIVIAN WEIJIA DUAN whose telephone number is (703)756-5442. The examiner can normally be reached Monday-Friday 8:30AM-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, Wei Y Mui can be reached at (571) 272-3708. 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. /V.W.D./Examiner, Art Unit 2191 /WEI Y MUI/Supervisory Patent Examiner, Art Unit 2191
Read full office action

Prosecution Timeline

Feb 28, 2024
Application Filed
Mar 13, 2024
Response after Non-Final Action
Jan 26, 2026
Non-Final Rejection mailed — §101, §103, §112
Apr 14, 2026
Response Filed
Jul 16, 2026
Final Rejection mailed — §101, §103, §112
Sep 08, 2026
Response after Non-Final Action

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12705027
CODE GENERATION SYSTEM USING PRE-TRAINED DIFFUSION MODEL
2y 5m to grant Granted Aug 11, 2026
Patent 12681699
USER INTERFACE PLATFORM INTEGRATED-DEVELOPMENT SYSTEM AND METHOD HAVING MICROSERVICE ARCHITECTURE
2y 9m to grant Granted Jul 14, 2026
Patent 12619405
METHOD AND SYSTEM FOR INCREMENTAL FUNCTIONAL APPROACH-BASED DATAFLOW ANALYSIS
2y 8m to grant Granted May 05, 2026
Patent 12541357
Operating System Upgrading Method, Electronic Device, Storage Medium, and Chip System
2y 7m to grant Granted Feb 03, 2026
Patent 12536005
TRANSFORMING A JAVA PROGRAM USING A SYMBOLIC DESCRIPTION LANGUAGE MODEL
2y 11m to grant Granted Jan 27, 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

2-3
Expected OA Rounds
73%
Grant Probability
89%
With Interview (+16.1%)
2y 9m (~2m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 22 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