Prosecution Insights
Last updated: July 17, 2026
Application No. 18/611,085

MODIFYING SOFTWARE CODE

Non-Final OA §101§103
Filed
Mar 20, 2024
Examiner
KAMRUZZAMAN, MD
Art Unit
2191
Tech Center
2100 — Computer Architecture & Software
Assignee
Cylance Inc.
OA Round
1 (Non-Final)
Grant Probability
Favorable
1-2
OA Rounds

Examiner Intelligence

Grants only 0% of cases
0%
Career Allowance Rate
0 granted / 0 resolved
-55.0% vs TC avg
Minimal +0% lift
Without
With
+0.0%
Interview Lift
resolved cases with interview
Typical timeline
Avg Prosecution
3 currently pending
Career history
5
Total Applications
across all art units

Statute-Specific Performance

§103
100.0%
+60.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 0 resolved cases

Office Action

§101 §103
DETAILED ACTION This is the initial office action based on the application submitted on March 20, 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 . Specification The title of the invention is not descriptive. A new title is required that is clearly indicative of the invention to which the claims are directed. The following title is suggested: TRANSFORMATION OF SOFTWARE CODE USING OPTIMIZATION ALGORITHMS. The disclosure is objected to because of the following informalities: In paragraph [0002], “approximation of original source code” should read “approximation of the original source code”. In paragraph [0008], “copyrights of the software, and” should read “copyrights of the software and”. In paragraph [0008], “In some case,” should read “In some cases,”. In paragraph [0008], “copyrights of the software, and” should read “copyrights of the software and”. In paragraph [0008], “generate new binary code” should read “generate a new binary code”. In paragraph [0008], “among these garbage codes” should read “among the garbage code”. In paragraph [0009], “function that calculate the size of modification code” should read “function that calculates the size of modification code”. In paragraph [0009], “to protect copyright of the software code” should read “to protect the copyright of the software code”. In paragraph [0012], “and the size of decompiled version of the output codes” should read “and the size of the decompiled version of the output codes”. In paragraph [0017], “(a p-code machine i.e., interpreter), or” should read “(a p-code machine, i.e., interpreter) or”. In paragraph [0023], “written in the format” should read “written in a format”. In paragraph [0023], “high level” should read “high-level”. In paragraph [0023], “low level” should read “low-level”. In paragraph [0024], “a size of the software code” should read “the size of the software code”. In paragraph [0025], “code to be as small as possible” should read “codes as small as possible”. In paragraph [0026], “in the unit of bytes, kilobyte (KB), megabyte (MB)” should read “in the units of bytes, kilobytes (KB), megabytes (MB). In paragraph [0029], “In some example,” should read “In some examples,”. In paragraph [0030], “sum of the size for all the modification codes” should read “sum of the sizes for all the modification codes”. In paragraph [0030], “other operation personnel or algorithms” should read “other operation personnel or algorithms.”. In paragraph [0034], “a loop, or changing a variable name and that do not impact the substantial operation of the software code, etc.” should read ““a loop, or changing a variable name, and that do not impact the substantial operation of the software code, etc.”. In paragraph [0041], “until stopping criteria is met” should read “until the stopping criteria is met”. In paragraph [0043], “compiled version of training source code” should read “compiled version of the training source code”. In paragraph [0045], “gradient based model” should read “gradient-based model”. Paragraph [0047] is empty and thus should be removed. Each of the following paragraphs should go down in numbering. In paragraph [0049], “size of decompiled file” should read “size of the decompiled file”. In paragraph [0049], “an input software code by using the pre-defined” should read “an input software code using the pre-defined”. In paragraph [0049], “The out altered code” should read “The output altered code”. Paragraph [0050] is empty and thus should be removed. Each of the following paragraphs should go down in numbering. In paragraph [0053], “for a software code, by using.” should read “for a software code by using”. In paragraph [0055], “there are total of 16” should read “there is a total of 16”. In paragraph [0055], “compiler-decompiler combination” should read “compiler-decompiler combinations”. In paragraph [0057], “combinations, then” should read “combinations, so”. In paragraph [0057], “each version of optimization function” should read “each version of the optimization function”. In paragraph [0058], “can be outputted” should read “can be output”. In paragraph [0058], “the size of the decompiled version” should read “and the size of the decompiled version” in both instances. In paragraph [0058], “to the different device” should read “to the different devices”. In paragraph [0063], “a database or other persistency” should read “a database, or other persistency”. In paragraphs [0079], [0087], and [0095], “comprises on a reinforcement learning algorithm” should read “comprises a reinforcement learning algorithm”. In paragraphs [0080], [0088], and [0096], “gradient based model” should read “gradient-based model”. In paragraph [0098], “non transitory” should read “non-transitory”. In paragraph [0100], “or further include special-purpose” should read “or further include, special-purpose”. In paragraph [0100], “application specific” should read “application-specific”. In paragraph [0100], “for example LINUX” should read “for example, LINUX”. In paragraph [0101], “sub programs” should read “subprograms”. In paragraph [0104], “magneto optical disks” should read “magneto-optical disks”. In paragraph [0105], “appropriate information including any parameters” should read “appropriate information, including any parameters”. In paragraph [0106], “such as, visual, auditory” should read “such as visual, auditory”. In paragraph [0107], “to, a web browser, a touch screen” should read “to a web browser, a touch screen”. In paragraph [0108], “a combination of data communication” should read “a combination of data communications”. In paragraph [0109], “relationship to each other” should read “relationship with each other”. In paragraph [0110], “may be accessible for all service consumers” should read “may be accessible to all service consumers”. In paragraph [0112], “or claims as will be apparent” should read “or claims, as will be apparent”. Appropriate correction is required. •────────────────•────────────────• Claim Objections Claims 5, 6, 12, 13, 19, 20 are objected to because of the following informalities: In claims 5, 12, and 19, “wherein the algorithm comprises on a reinforcement learning algorithm” should read “wherein the algorithm comprises a reinforcement learning algorithm”. In claims 6, 13, 20, “gradient based model” should read “gradient-based model”. Appropriate correction is required. •────────────────•────────────────• 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 (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more. Claim Interpretation: Under the broadest reasonable interpretation (BRI), the limitations of Claim 1 are presumed to have their plain meaning consistent with the specification as it would be interpreted by one of ordinary skill in the art. See MPEP § 2111. Step 1: Claim 1 is directed to a method, which is a process (a series of steps or acts), and falls within one of the statutory categories of invention. Step 2A, Prong One: Claim 1 recites the limitation: processing the software code to generate an output code, wherein the output code includes the software code and one or more modification codes, wherein the one or more modification codes are determined by an algorithm that is optimized according to a function of a size of the one or more modification codes and a size of the output code, wherein the size of the output code is larger than a size of the software code. These recited steps, under the broadest reasonable interpretation (BRI), cover performance of the steps in the human mind alone or with the aid of pen and paper. Nothing in the claim precludes the steps from practically being performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. For example, the limitation (a) in the context of the claim encompasses a human evaluating software code and determining one or more modification codes in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to generate an output code. See MPEP § 2106.04(a)(2)(III). If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the human mind alone or with the aid of pen and paper but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Step 2A, Prong Two: This judicial exception is not integrated into a practical application. In particular, the claim recites the additional element: (1) obtaining a software code; and The additional element (1) is mere data gathering/transmitting/outputting recited at a high level of generality and thus, are insignificant extra-solution activities. See MPEP § 2106.05(g). Furthermore, all uses of the recited judicial exception require such data gathering/transmitting/outputting, and, as such, the additional elements do not impose any meaningful limits on the claim. The additional elements amount to necessary data gathering/transmitting/outputting. See MPEP § 2106.05(g). Accordingly, even when viewed in combination, the additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements when considered both individually and as a combination do not amount to significantly more than the abstract idea. As discussed above with respect to integration of the abstract idea into a practical application, the claim recites the additional element: (1) obtaining a software code; and The additional element (1) simply appends well-understood, routine, and conventional activities previously known to the industry, specified at a high level of generality, to the judicial exception is not indicative of an inventive concept. MPEP § 2106.05(d)(II) expressly states that the courts have recognized the computer function of receiving or transmitting data over a network, e.g., using the Internet to gather data as a well‐understood, routine, and conventional computer function when it is claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activities. Thus, a person of ordinary skill in the art would readily comprehend that it is well-understood, routine, and conventional in the computing art to obtain a software code. Therefore, the limitations remain insignificant extra-solution activities even upon reconsideration and do not amount to significantly more. Thus, taken alone, the additional elements do not amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the additional elements as a combination adds nothing that is not already present when looking at the additional elements taken individually. Even when considered in combination, the additional elements represent insignificant extra-solution activities and therefore do not provide an inventive concept. The claim is not patent eligible. Claims 2-7 are dependent on Claim 1, but do not add any feature or subject matter that would solve the judicial exception deficiencies of Claim 1. Claim 2 recites the limitation: (a) wherein the software code is a source code. •──────────────•──────────────• Claim 3 recites the limitation: (a) wherein the function is expressed as the following: L = -a* size(D*(C*(S+S_mod))) + b * size (C*(S+S_mod)), where L represents the function, size represents a size function, sum represents a sum function, D* represents a decompiling operation, C* represents a compiling operation, S represents the software code, S_mod represents the one or more modification codes, wherein a and b represent scaling factors. •──────────────•──────────────• Claim 4 recites the limitation: (a) wherein the algorithm comprises a genetic algorithm. •──────────────•──────────────• Claim 5 recites the limitation: (a) wherein the algorithm comprises on a reinforcement learning algorithm. •──────────────•──────────────• Claim 6 recites the limitation: (a) wherein the algorithm comprises a gradient based model. •──────────────•──────────────• Claim 7 recites the limitation: (a) wherein the algorithm comprises an adversarial attack algorithm. •──────────────•──────────────• Claim 2 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they merely indicate a field of use or technological environment in which the judicial exception is performed and thus, fail to add an inventive concept to the claims (see MPEP § 2106.05(h)) and thus, are not significantly more than the abstract idea. Claims 3 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they do not require any particular application of the judicial exception and are, at best, the equivalent of merely adding the words “apply it” (or an equivalent) to the judicial exception (see MPEP § 2106.05(f)) and thus, are not significantly more than the abstract idea. Claims 4, 5, 6, 7 recite further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they are mere instructions to apply the judicial exception using generic computer components (see MPEP § 2106.05(f)) and thus, are not significantly more than the abstract idea. Thus, claims 2-7 do not add any steps or additional elements, when considered both individually and as a combination, that would convert Claim 1 into patent-eligible subject matter. Therefore, claims 1-7 are not drawn to patent-eligible subject matter as they are directed to an abstract idea without significantly more. •──────────────•──────────────• Claim Interpretation: Under the broadest reasonable interpretation (BRI), the limitations of Claim 8 are presumed to have their plain meaning consistent with the specification as it would be interpreted by one of ordinary skill in the art. See MPEP § 2111. Step 1: Claim 8 is directed to a computer-readable medium. However, the computer-readable medium can be construed to cover a transitory form of signal transmission (often referred to as “signals per se”) and thus, the claim does not fall within one of the statutory categories of invention. Claims 9-14 are dependent on claim 8 and thus suffer the same deficiency. However, the claim can be amended to fall within one of the statutory categories of invention by amending the claim to recite “a/the computer-readable storage medium”. Step 2A, Prong One: Claim 8 recites the limitation: processing the software code to generate an output code, wherein the output code includes the software code and one or more modification codes, wherein the one or more modification codes are determined by an algorithm that is optimized according to a function of a size of the one or more modification codes and a size of the output code, wherein the size of the output code is larger than a size of the software code. These recited steps, under the broadest reasonable interpretation (BRI), cover performance of the steps in the human mind alone or with the aid of pen and paper. That is, other than reciting: (1) A computer-readable medium containing instructions which, when executed, cause an electronic device to perform operations comprising: Nothing in the claim precludes the steps from practically being performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. For example, the limitation (a) in the context of the claim encompasses a human evaluating software code and determining one or more modification codes in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to generate an output code. See MPEP § 2106.04(a)(2)(III). If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the human mind alone or with the aid of pen and paper but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Step 2A, Prong Two: This judicial exception is not integrated into a practical application. In particular, the claim recites the additional elements: (1) A computer-readable medium containing instructions which, when executed, cause an electronic device to perform operations comprising: The additional element (1) is recited at a high-level of generality such that they amount to no more than mere instructions to apply the judicial exception using generic computer components. The computer-readable medium is used as a tool to perform the obtaining and processing steps of the claim. See MPEP § 2106.05(f). Also, the claim recites the additional elements: (2) obtaining a software code; and The additional element (2) is mere data gathering/transmitting/outputting recited at a high level of generality and thus, are insignificant extra-solution activities. See MPEP § 2106.05(g). Furthermore, all uses of the recited judicial exception require such data gathering/transmitting/outputting, and, as such, the additional elements do not impose any meaningful limits on the claim. The additional elements amount to necessary data gathering/transmitting/outputting. See MPEP § 2106.05(g). Accordingly, even when viewed in combination, the additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements when considered both individually and as a combination do not amount to significantly more than the abstract idea. As discussed above with respect to integration of the abstract idea into a practical application, the claim recites the additional elements: (1) A computer-readable medium containing instructions which, when executed, cause an electronic device to perform operations comprising: The additional element (1) amount to no more than mere instructions to apply the judicial exception using generic computer components. The analysis under Step 2A, Prong Two is carried through to Step 2B. The use of a computer or other machinery in its ordinary capacity does not integrate a judicial exception into a practical application or provide significantly more. Also, the claim recites the additional elements: (2) obtaining a software code; and The additional element (2) simply appends well-understood, routine, and conventional activities previously known to the industry, specified at a high level of generality, to the judicial exception is not indicative of an inventive concept. MPEP § 2106.05(d)(II) expressly states that the courts have recognized the computer function of receiving or transmitting data over a network, e.g., using the Internet to gather data as a well‐understood, routine, and conventional computer function when it is claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activities. Thus, a person of ordinary skill in the art would readily comprehend that it is well-understood, routine, and conventional in the computing art to obtain a software code. Therefore, the limitations remain insignificant extra-solution activities even upon reconsideration and do not amount to significantly more. Thus, taken alone, the additional elements do not amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the additional elements as a combination adds nothing that is not already present when looking at the additional elements taken individually. Even when considered in combination, the additional elements represent mere instructions to apply a judicial exception using generic computer components and insignificant extra-solution activities, and therefore do not provide an inventive concept. The claim is not patent eligible. Claims 9-14 are dependent on Claim 8, but do not add any feature or subject matter that would solve the judicial exception deficiencies of Claim 8. Claim 9 recites the limitation: (a) wherein the software code is a source code. •──────────────•──────────────• Claim 10 recites the limitation: (a) wherein the function is expressed as the following: L = -a* size(D*(C*(S+S_mod))) + b * size (C*(S+S_mod)), where L represents the function, size represents a size function, sum represents a sum function, D* represents a decompiling operation, C* represents a compiling operation, S represents the software code, S_mod represents the one or more modification codes, wherein a and b represent scaling factors. •──────────────•──────────────• Claim 11 recites the limitation: (a) wherein the algorithm comprises a genetic algorithm. •──────────────•──────────────• Claim 12 recites the limitation: (a) wherein the algorithm comprises on a reinforcement learning algorithm. •──────────────•──────────────• Claim 13 recites the limitation: (a) wherein the algorithm comprises a gradient based model. •──────────────•──────────────• Claim 14 recites the limitation: (a) wherein the algorithm comprises an adversarial attack algorithm. •──────────────•──────────────• Claim 9 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they merely indicate a field of use or technological environment in which the judicial exception is performed and thus, fail to add an inventive concept to the claims (see MPEP § 2106.05(h)) and thus, are not significantly more than the abstract idea. Claims 10 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they do not require any particular application of the judicial exception and are, at best, the equivalent of merely adding the words “apply it” (or an equivalent) to the judicial exception (see MPEP § 2106.05(f)) and thus, are not significantly more than the abstract idea. Claims 11, 12, 13, 14 recite further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they are mere instructions to apply the judicial exception using generic computer components (see MPEP § 2106.05(f)) and thus, are not significantly more than the abstract idea. Thus, claims 9-14 do not add any steps or additional elements, when considered both individually and as a combination, that would convert Claim 1 into patent-eligible subject matter. Therefore, claims 8-14 are not drawn to patent-eligible subject matter as they are directed to an abstract idea without significantly more. •──────────────•──────────────• Claim Interpretation: Under the broadest reasonable interpretation (BRI), the limitations of Claim 15 are presumed to have their plain meaning consistent with the specification as it would be interpreted by one of ordinary skill in the art. See MPEP § 2111. Step 1: Claim 15 is directed to a computer-implemented system, which is a machine, and falls within one of the statutory categories of invention. Step 2A, Prong One: Claim 15 recites the limitation: processing the software code to generate an output code, wherein the output code includes the software code and one or more modification codes, wherein the one or more modification codes are determined by an algorithm that is optimized according to a function of a size of the one or more modification codes and a size of the output code, wherein the size of the output code is larger than a size of the software code. These recited steps, under the broadest reasonable interpretation (BRI), cover performance of the steps in the human mind alone or with the aid of pen and paper. That is, other than reciting: (1) one or more computers; and (2) one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising: Nothing in the claim precludes the steps from practically being performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. For example, the limitation (a) in the context of the claim encompasses a human evaluating software code and determining one or more modification codes in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to generate an output code. See MPEP § 2106.04(a)(2)(III). If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the human mind alone or with the aid of pen and paper but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Step 2A, Prong Two: This judicial exception is not integrated into a practical application. In particular, the claim recites the additional elements: (1) one or more computers; and (2) one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising: The additional elements (1) and (2) are recited at a high-level of generality such that they amount to no more than mere instructions to apply the judicial exception using generic computer components. The computer-readable medium is used as a tool to perform the obtaining and processing steps of the claim. See MPEP § 2106.05(f). Also, the claim recites the additional elements: (3) obtaining a software code; and The additional element (3) is mere data gathering/transmitting/outputting recited at a high level of generality and thus, are insignificant extra-solution activities. See MPEP § 2106.05(g). Furthermore, all uses of the recited judicial exception require such data gathering/transmitting/outputting, and, as such, the additional elements do not impose any meaningful limits on the claim. The additional elements amount to necessary data gathering/transmitting/outputting. See MPEP § 2106.05(g). Accordingly, even when viewed in combination, the additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements when considered both individually and as a combination do not amount to significantly more than the abstract idea. As discussed above with respect to integration of the abstract idea into a practical application, the claim recites the additional elements: (1) one or more computers; and (2) one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising: The additional elements (1) and (2) amount to no more than mere instructions to apply the judicial exception using generic computer components. The analysis under Step 2A, Prong Two is carried through to Step 2B. The use of a computer or other machinery in its ordinary capacity does not integrate a judicial exception into a practical application or provide significantly more. Also, the claim recites the additional elements: (3) obtaining a software code; and The additional element (3) simply appends well-understood, routine, and conventional activities previously known to the industry, specified at a high level of generality, to the judicial exception is not indicative of an inventive concept. MPEP § 2106.05(d)(II) expressly states that the courts have recognized the computer function of receiving or transmitting data over a network, e.g., using the Internet to gather data as a well‐understood, routine, and conventional computer function when it is claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activities. Thus, a person of ordinary skill in the art would readily comprehend that it is well-understood, routine, and conventional in the computing art to obtain a software code. Therefore, the limitations remain insignificant extra-solution activities even upon reconsideration and do not amount to significantly more. Thus, taken alone, the additional elements do not amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the additional elements as a combination adds nothing that is not already present when looking at the additional elements taken individually. Even when considered in combination, the additional elements represent mere instructions to apply a judicial exception using generic computer components and insignificant extra-solution activities, and therefore do not provide an inventive concept. The claim is not patent eligible. Claims 16-20 are dependent on Claim 15, but do not add any feature or subject matter that would solve the judicial exception deficiencies of Claim 15. Claim 16 recites the limitation: (a) wherein the software code is a source code. •──────────────•──────────────• Claim 17 recites the limitation: (a) wherein the function is expressed as the following: L = -a* size(D*(C*(S+S_mod))) + b * size (C*(S+S_mod)), where L represents the function, size represents a size function, sum represents a sum function, D* represents a decompiling operation, C* represents a compiling operation, S represents the software code, S_mod represents the one or more modification codes, wherein a and b represent scaling factors. •──────────────•──────────────• Claim 18 recites the limitation: (a) wherein the algorithm comprises a genetic algorithm. •──────────────•──────────────• Claim 19 recites the limitation: (a) wherein the algorithm comprises on a reinforcement learning algorithm. •──────────────•──────────────• Claim 20 recites the limitation: (a) wherein the algorithm comprises a gradient based model. •──────────────•──────────────• Claim 16 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they merely indicate a field of use or technological environment in which the judicial exception is performed and thus, fail to add an inventive concept to the claims (see MPEP § 2106.05(h)) and thus, are not significantly more than the abstract idea. Claims 17 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they do not require any particular application of the judicial exception and are, at best, the equivalent of merely adding the words “apply it” (or an equivalent) to the judicial exception (see MPEP § 2106.05(f)) and thus, are not significantly more than the abstract idea. Claims 18, 19, 20 recite further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they are mere instructions to apply the judicial exception using generic computer components (see MPEP § 2106.05(f)) and thus, are not significantly more than the abstract idea. Thus, claims 16-20 do not add any steps or additional elements, when considered both individually and as a combination, that would convert Claim 1 into patent-eligible subject matter. Therefore, claims 15-20 are not drawn to patent-eligible subject matter as they are directed to an abstract idea without significantly more. Claims 8-14 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. Claim 8 is directed to a computer-readable medium. The broadest reasonable interpretation of a claim drawn to a computer-readable medium typically covers forms of non-transitory tangible media and transitory propagating signals per se in view of the ordinary and customary meaning of a computer-readable medium, particularly when the specification is silent. See MPEP § 2111.01. When the broadest reasonable interpretation of a claim covers a signal per se, the claim must be rejected under 35 US.C. § 101 as covering non-statutory subject matter. See In re Nuijten, 500 F.3d 1346, 1356-57 (Fed. Cir. 2007) (transitory embodiments are not directed to statutory subject matter) and Interim Examination Instructions for Evaluating Subject Matter Eligibility Under 35 U.S.C. § 101, Aug. 24, 2009; p. 2. Therefore, the claimed computer-readable medium is ineligible subject matter under §101. Paragraph 102 of the specification expressly states "The computer storage medium is not, however, a propagated signal." Thus, the applicant is advised to amend the claim to recite "a/the computer-readable storage medium" in order to overcome the 35 U.S.C. § 101 rejection. Claims 9-14 depend on Claim 8 and do not cure the deficiency of Claim 8. Therefore, claims 9-14 are rejected for the same reason set forth in the rejection of Claim 8. •────────────────•────────────────• Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1, 2, 4, 8, 9, 11, 15, 16, and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Lam (US Patent Application Publication No. 2020/0151305 A1) in view of Collberg (US 6,668,325 B1). Regarding claim 1, Lam teaches: obtaining a software code; and (Lam, Paragraph [0045], “The input to the method is the original source code 10 of a program. The source code 10 is in the form of a text file in a human readable programming language such as C++ (emphasis added).”) processing the software code to generate an output code (Lam, Paragraph [0014], “applying the obfuscation transform selection to the input source code to generate candidate obfuscated source code;”), wherein the output code includes the software code and one or more modification codes (Lam, Paragraph [0070], “In step 408, the obfuscation module 322 running on the processor 310 applies the candidate obfuscation transform selection to the source code [one or more modification codes] to generate candidate obfuscated source code (emphasis added).”), wherein the one or more modification codes are determined by an algorithm that is optimized according to a function […] (Lam, Paragraph [0016], “Side-channel-aware code obfuscation is a compiler-driven method that performs program transformations on the original program to protect against reverse engineering while at the same time, ensuring low information leakage in the obfuscated codes and considering the execution time of a program. An optimization algorithm is used to determine the combination of program transformations that leads to solutions with the best obscurity-performance trade-offs, and low side-channel leakage (emphasis added).”) Lam fails to teach: […] of a size of the one or more modification codes and a size of the output code, wherein the size of the output code is larger than a size of the software code. However, Collberg teaches: […] of a size of the one or more modification codes […] (Collberg, Claim (25), “choosing one or more obfuscation transformations for which the obfuscation metric is maximized and the cost metric is minimized.” Collberg, Claim (27), “the cost metric of a given obfuscation transformation is based, at least in part, on an execution time penalty and a space penalty associated with the given obfuscation transformation (emphasis added).”) Collberg further teaches: […] and a size of the output code […] (Collberg, Col. 6, Lines 23-25, “The third component is transformation execution cost. This is the execution time or space penalty incurred as a result of using the transformed application P' (emphasis added).”) Collberg further teaches: […] wherein the size of the output code is larger than a size of the software code (Collberg, Col. 20, Lines 39-43, “All three transformations increase the u1 and u2 metrics, because they increase the source application's total code size and number of conditions. The loop blocking transformation also introduces extra nesting, and hence also increases the u3 metric (emphasis added).”). [Examiner Remarks: Collberg teaches selecting obfuscation transformations according to minimized cost metrics that include “space penalty” (Collberg, Claim (27)) associated with the applied transformations. Collberg further teaches that the applied transformations “increase the source application’s total code size” (Collberg, Paragraph (152)). Thus, one of ordinary skill in the art would readily comprehend that the disclosed space-penalty cost metric corresponds to size overhead introduced by the applied transformations and resulting transformed-program size characteristics produced by those transformations.] Lam and Collberg are considered to be analogous to the claimed invention because both are in the same field of preventing software analysis or reverse engineering, e.g. by obfuscation. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Lam to incorporate the teachings of Collberg to have: […] of a size of the one or more modification codes and a size of the output code, wherein the size of the output code is larger than a size of the software code. The modification would be obvious to one of ordinary skill in the art because Collberg teaches “choosing one or more obfuscation transformations for which the obfuscation metric is maximized and the cost metric is minimized” (Collberg, Claim (25)), where the “cost metric of a given obfuscation transformation is based, at least in part, on an execution time penalty and a space penalty associated with the given obfuscation transformation” (Collberg, Claim (27)). Collberg further teaches that certain transformation “increase the source application's total code size” (Collberg, Col. 20, Line 40) and that “Java programs are often small in size and therefore relatively easy to reverse engineer” (Collberg, Col. 8, Lines 23-25). One of ordinary skill in the art would therefore have been motivated to incorporate Collberg’s size-related transformation cost metrics into Lam’s optimization framework to improve evaluation and selection of software modifications according to output-code size and transformation overhead considerations. •──────────────•──────────────• Regarding claim 2, the rejection of claim 1 is incorporated. Lam further teaches: wherein the software code is a source code (Lam, Paragraph [0045], “The input to the method is the original source code 10 of a program. The source code 10 is in the form of a text file in a human readable programming language such as C++.”). •──────────────•──────────────• Regarding claim 4, the rejection of claim 1 is incorporated. Lam further teaches: wherein the algorithm comprises a genetic algorithm (Lam, Paragraph [0028], “FIG. 2 is a flowchart showing a method of optimizing obfuscation using a genetic algorithm according to an embodiment of the present invention.”). •──────────────•──────────────• Claims 8, 9, 11 are computer-readable medium claims corresponding to the method claims hereinabove (Claims 1, 2, 4 respectively). Therefore, claims 8, 9, 11 are rejected for the same reasons set forth in the rejections of claims 1, 2, 4 respectively. •──────────────•──────────────• Claims 15, 16, 18 are computer-implemented system claims corresponding to the method claims hereinabove (Claims 1, 2, 4 respectively). Therefore, claims 15, 16, 18 are rejected for the same reasons set forth in the rejections of claims 1, 2, 4 respectively. •──────────────•──────────────• Claims 5, 7, 12, 14, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Lam (US Patent Application Publication No. 2020/0151305 A1) in view of Collberg (US 6,668,325 B1) as applied to claims 1, 8, and 15 above, and further in view of Anderson (Anderson et al., “Learning to Evade Static PE Machine Learning Malware Models via Reinforcement Learning”, January 30, 2018). Regarding claim 5, the rejection of claim 1 is incorporated. The combination of Lam and Collberg fails to teach: wherein the algorithm comprises on a reinforcement learning algorithm. However, Anderson teaches: wherein the algorithm comprises on a reinforcement learning algorithm (Anderson, Page 1, Column 1, Abstract, “We propose a more general framework based on reinforcement learning (RL) for at tacking static portable executable (PE) anti-malware engines. The general framework does not require a differentiable model nor does it require the engine to produce a score. Instead, an RL agent is equipped with a set of functionality-preserving operations that it may perform on the PE file. Through a series of games played against the anti-malware engine, it learns which sequences of operations are likely to result in evading the detector for any given malware sample. This enables completely black-box attacks against static PE anti-malware, and produces functional evasive malware samples as a direct result (emphasis added).”). Lam, Collberg, and Anderson are considered to be analogous to the claimed invention because they are all in the same field of software code modification, transformation, and optimization techniques. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Lam and Collberg to incorporate the teachings of Anderson to have: wherein the algorithm comprises on a reinforcement learning algorithm. The modification would be obvious to one of ordinary skill in the art because Anderson teaches “a reinforcement learning model consists of an agent and an environment that interact for a sequence of turns (or discrete timesteps). The agent learns incrementally through a trade-off of exploration and exploitation which actions to produce given the environment’s state” (Anderson, Page 4, Column 2, Section 3.1, Paragraph 1). “Based on this feedback, the agent chooses from a set of mutations (actions) that preserve the format and function of the PE file” (Anderson, Page 5, Column 2, Section 3.2, Paragraph 3). This demonstrates that reinforcement learning algorithms are well known for automatically selecting software modifications according to optimization objectives while preserving software functionality. Thus, one of ordinary skill in the art would have been motivated to incorporate the reinforcement learning optimization techniques of Anderson into the software modification and transformation framework of Lam and Collberg to improve automated selections and optimization of modification codes and achieve predictable results. •──────────────•──────────────• Regarding claim 7, the rejection of claim 1 is incorporated. The combination of Lam and Collberg fails to teach: wherein the algorithm comprises an adversarial attack algorithm. However, Anderson further teaches: wherein the algorithm comprises an adversarial attack algorithm (Anderson, Page 1, Column 1, Abstract, “This enables completely black-box attacks against static PE anti-malware, and produces functional evasive malware samples as a direct result. We show in experiments that our method can attack a gradient-boosted machine learning model with evasion rates that are substantial and appear to be strongly dependent on the dataset. We demonstrate that attacks against this model appear to also evade components of publicly hosted antivirus engines.” Anderson, Page 1, Column 2, Section 1, Paragraph 2, “The attacker attempts to camouflage the malware in feature space by inducing a feature representation that is highly correlated with, but not necessarily indicative of benign behavior”). Lam, Collberg, and Anderson are considered to be analogous to the claimed invention because they are all in the same field of software code modification, transformation, and optimization techniques. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Lam and Collberg to incorporate the teachings of Anderson to have: wherein the algorithm comprises an adversarial attack algorithm. The modification would be obvious to one of ordinary skill in the art because Anderson teaches “a generic black-box attack on static PE malware detection” (Anderson, Page 1, Column 2, Section 1, Contributions) and that “an attacker may determine how best to bypass the model” (Anderson, Page 3, Column 1, Section 2.2, Paragraph 1), demonstrating the use of adversarial attack techniques for automatically generating software modifications intended to evade machine-learning based detection systems. Thus, one of ordinary skill in the art would have been motivated to incorporate the adversarial attack techniques of Anderson into the software modification framework of Lam and Collberg to improve automated generation, selection, and optimization of modification codes and achieve predictable results. •──────────────•──────────────• Claims 12, 14 are computer-readable medium claims corresponding to the method claims hereinabove (Claims 5, 7 respectively). Therefore, claims 12, 14 are rejected for the same reasons set forth in the rejections of claims 5, 7 respectively. •──────────────•──────────────• Claim 19 is a computer-implemented system claim corresponding to the method claim hereinabove (Claim 5). Therefore, claim 19 is rejected for the same reasons set forth in the rejection of claim 5. •──────────────•──────────────• Claims 6, 13, and 20 is rejected under 35 U.S.C. 103 as being unpatentable over Lam (US Patent Application Publication No. 2020/0151305 A1) in view of Collberg (US 6,668,325 B1) as applied to claims 1, 8, and 15 above, and further in view of Goodfellow (Goodfellow et al., “EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES”, March 20, 2015). Regarding claim 6, the rejection of claim 1 is incorporated. The combination of Lam and Collberg fails to teach: wherein the algorithm comprises a gradient based model. However, Goodfellow teaches: wherein the algorithm comprises a gradient based model. (Goodfellow, Page 3, Paragraph 1-3, “Figure 1: A demonstration of fast adversarial example generation applied to GoogLeNet (Szegedy et al., 2014a) on ImageNet. By adding an imperceptibly small vector whose elements are equal to the sign of the elements of the gradient of the cost function with respect to the input, we can change GoogLeNet’s classification of the image. Here our ϵ of .007 corresponds to the magnitude of the smallest bit of an 8 bit image encoding after GoogLeNet’s conversion to real numbers. Let θ be the parameters of a model, x the input to the model, y the targets associated with x (for machine learning tasks that have targets) and J(θ,x,y) be the cost used to train the neural network. We can linearize the cost function around the current value of θ, obtaining an optimal max-norm constrained pertubation of η = ϵsign(∇xJ(θ,x,y)). We refer to this as the “fast gradient sign method” of generating adversarial examples. Note that the required gradient can be computed efficiently using backpropagation”). Lam, Collberg, and Goodfellow are considered to be analogous to the claimed invention because they are all in the same field of software code modification, transformation, and optimization techniques. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Lam and Collberg to incorporate the teachings of Goodfellow to have: wherein the algorithm comprises a gradient based model. The modification would be obvious to one of ordinary skill in the art because Goodfellow teaches that “[t]he linear view of adversarial examples suggests a fast way of generating them” (Goodfellow, Page 2, Section 4, Paragraph 1) and further teaches the “fast gradient sign method” for generating adversarial examples. Thus, Goodfellow demonstrates that gradient-based optimization techniques were known for efficiently generating modifications according to an optimization objective. One of ordinary skill in the art would therefore have been motivated to incorporate the gradient-based optimization techniques of Goodfellow into the software modification framework of Lam and Collberg to improve automated generation, selection, and optimization of modification codes and achieve predictable results. •──────────────•──────────────• 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 set forth in the rejection of claim 6. •──────────────•──────────────• Claim 20 is a computer-implemented system claim corresponding to the method claim hereinabove (Claim 6). Therefore, claim 20 is rejected for the same reasons set forth in the rejection of claim 6. •────────────────•────────────────• Allowable Subject Matter Claims 3, 10, and 17 are objected to as being dependent upon a rejected base claim under 35 U.S.C. 103, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims, and overcome any corresponding objections and/or rejections set forth hereinabove. •────────────────•────────────────• Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. They are as follows: Sistany (US 2021/0303662 A1) discloses systems, methods, and storage media for creating secured transformed code from input code, wherein a neural network is used to approximate a transformation and thereby implement obfuscation transformations in the code. Johansson (US 2020/0151007 A1) discloses methods and operations by computers for obscuring control execution flow of code blocks of a computer program. Any inquiry concerning this communication or earlier communications from the examiner should be directed to MD KAMRUZZAMAN whose telephone number is (571)272-8415. The examiner can normally be reached Monday-Friday 9:30 am - 5:30 pm Alternate Fridays Off. 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 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. /M.K./Examiner, Art Unit 2191 /WEI Y MUI/Supervisory Patent Examiner, Art Unit 2191
Read full office action

Prosecution Timeline

Mar 20, 2024
Application Filed
Jun 02, 2026
Non-Final Rejection mailed — §101, §103 (current)

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
Grant Probability
Low
PTA Risk
Based on 0 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