IP Library Granted Patent US 12,737,281
Granted Patent B2
US 12,737,281 · App. 18/609,484 · Granted Sep 15, 2026

System and method to use past computer executable instructions to evaluate proposed computer executable instructions

Inventors: Yue Li (Foster City, CA); Theodore Harris (Foster City, CA); Tatiana Korolevskaya (Foster City, CA)
Assignee: Visa International Service Association
G06F11/3644G06F11/3688G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,737,281
App. No.
18/609,484
Granted
Sep 15, 2026
Kind
B2
Abstract

Computer executable instructions including code sections are received and compared to previously analyzed computer executable instructions. The code sections are then analyzed and assigned a risk score. If the risk score is over a threshold, an alarm may be communicated or the system may substitute computer executable instructions that may have been created according to a standard or have been previously approved.

Claims (69)

1 . A method of analyzing pending computer executable instructions for risk comprising:

receiving pending computer executable instructions, wherein the pending computer executable instructions are yet to be executed;

determining a proposed risk factor for the pending computer executable instructions, wherein determining the proposed risk factor comprises:

determining an unrecognizable section of code level analyzable elements from the pending computer executable instructions based on one or more of:

comments in the pending computer executable instructions;

libraries used by the pending computer executable instructions;

indentation lines of codes of the pending computer executable instructions;

uses of sub-routines of the pending computer executable instructions;

existence of commands in the pending computer executable instructions; or

lack of commands in the pending computer executable instructions;

inputting the unrecognizable section into a Natural Language Processing (NLP) unit, wherein the NLP unit is configured to perform a vectorization process on the unrecognizable section based on an attribute of a code level analyzable element to produce an NLP output;

inputting an analyzable vector associated with the unrecognizable section into a recurrent neural network (RNN) comprising a risk model to determine a risk score associated with the unrecognizable section,

wherein the analyzable vector is determined from an output of the NLP unit,

wherein the risk model is configured to output the risk score based on a comparison of the inputted analyzable vector with previously analyzed computer executable instructions; and

calculating the proposed risk factor based on the risk score associated with the unrecognizable section; and

executing a risk response based on the proposed risk factor exceeding a threshold.

2 . The method of claim 1 , wherein the NLP unit is configured to perform the vectorization process based on a word of the unrecognizable section.

3 . The method of claim 2 , wherein the attribute of the vectorization process is word frequency.

4 . The method of claim 3 , wherein an end position of the analyzable vector comprises a frequency associated with the word of the unrecognizable section.

5 . The method of claim 2 , wherein the analyzable vector is indicative of a position of the word within the unrecognizable section.

6 . The method of claim 1 , wherein the NLP output comprises a matrix of analyzable vectors.

7 . The method of claim 1 , wherein the risk model is configured to output the risk score based on a comparison of the inputted analyzable vector with previously approved computer executable instructions.

8 . The method of claim 7 , wherein the previously approved computer executable instructions are clustered into N dimensions, and wherein the comparison of the inputted analyzable vector with previously approved computer executable instructions comprises a comparison of the inputted analyzable vector with each of the N dimensions.

9 . The method of claim 1 , wherein the risk model is configured to output the risk score based on a comparison of the inputted analyzable vector with computer executable instructions previously determined to be malicious code.

10 . The method of claim 1 , further comprising:

separating unrecognizable sections of code level analyzable elements from recognizable sections; and

determining a second risk score associated with a recognizable section.

11 . The method of claim 10 , wherein the proposed risk factor is calculated based on the risk score associated with the unrecognizable section and the second risk score associated with the recognizable section.

12 . The method of claim 1 , further comprising:

determining the threshold for the proposed risk factor according to one or more of a government authority with grades of thresholds or a past history of the proposed risk factor of the pending computer executable instructions; and

performing a comparison of the proposed risk factor and the threshold.

13 . The method of claim 1 , wherein the risk response comprises one or more of communicating a risk warning associated with the computer executable instructions, replacing the computer executable instructions identified as risk with a comparable computer executable instructions that have been determined to have an acceptable risk, or placing a hold on the computer executable instructions.

14 . A computer system comprising an input output circuit, a memory and a processor physically configured according to computer executable instructions, the computer executable instructions comprising instructions for:

receiving pending computer executable instructions to be analyzed;

determining a proposed risk factor for the pending computer executable instructions, wherein determining the proposed risk factor comprises:

determining an unrecognizable section of code level analyzable elements from the pending computer executable instructions based on one or more of:

comments in the pending computer executable instructions;

libraries used by the pending computer executable instructions;

indentation lines of codes of the pending computer executable instructions;

uses of sub-routines of the pending computer executable instructions;

existence of commands in the pending computer executable instructions; or

lack of commands in the pending computer executable instructions;

inputting the unrecognizable section into a Natural Language Processing (NLP) unit, wherein the NLP unit is configured to perform a vectorization process on the unrecognizable section based on an attribute of a code level analyzable element to produce an NLP output;

inputting an analyzable vector associated with the unrecognizable section into a recurrent neural network (RNN) comprising a risk model to determine a risk score associated with the unrecognizable section,

wherein the analyzable vector is determined from an output of the NLP unit,

wherein the risk model is configured to output the risk score based on a comparison of the inputted analyzable vector with previously analyzed computer executable instructions; and

calculating the proposed risk factor based on the risk score associated with the unrecognizable section; and

executing a risk response based on the proposed risk factor exceeding a threshold.

15 . The computer system of claim 14 , wherein the risk model and the previously analyzed computer executable instructions are stored in the memory.

16 . The computer system of claim 15 , the computer system further comprising instructions for storing the risk score associated with the unrecognizable section in the memory as an update to the risk model.

17 . The computer system of claim 14 , wherein determining an unrecognizable section of code level analyzable elements from the pending computer executable instructions comprises comparing a word of the unrecognizable section with a database of reserve words stored in the memory.

18 . The computer system of claim 17 , the computer system further comprising instructions for storing the word of the unrecognizable sections in the memory as an update to the database of reserve words.

19 . The computer system of claim 14 , the computer system further comprising a machine learning algorithm configured to update the risk model stored in the memory based on one or more of the calculated proposed risk factor or the risk score associated with the unrecognizable section.

20 . A tangible non-transitory computer readable medium comprising computer executable instructions for:

receiving pending computer executable instructions to be analyzed;

determining a proposed risk factor for the pending computer executable instructions, wherein determining the proposed risk factor comprises:

determining an unrecognizable section of code level analyzable elements from the pending computer executable instructions based on one or more of:

comments in the pending computer executable instructions;

libraries used by the pending computer executable instructions;

indentation lines of codes of the pending computer executable instructions;

uses of sub-routines of the pending computer executable instructions;

existence of commands in the pending computer executable instructions; or

lack of commands in the pending computer executable instructions;

inputting the unrecognizable section into a Natural Language Processing (NLP) unit, wherein the NLP unit is configured to perform a vectorization process on the unrecognizable section based on an attribute of a code level analyzable element to produce an NLP output;

inputting an analyzable vector associated with the unrecognizable section into a recurrent neural network (RNN) comprising a risk model to determine a risk score associated with the unrecognizable section,

wherein the analyzable vector is determined from an output of the NLP unit,

wherein the risk model is configured to output the risk score based on a comparison of the inputted analyzable vector with previously analyzed computer executable instructions; and

calculating the proposed risk factor based on the risk score associated with the unrecognizable section; and

executing a risk response based on the proposed risk factor exceeding a threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2024
From: LI, YUE; HARRIS, THEODORE; KOROLEVSKAYA, TATIANA
To: VISA INTERNATIONAL SERVICE ASSOCIATION
Reel/Frame 066826/0221 →
Continuity (3)
Continuation 17723579 · Apr 19, 2022
Continuation 16731499 · Dec 31, 2019
Related Publication 20240303180A1 · Sep 12, 2024
References Cited (53)
US 5457747A · Drexler et al. · 1995 [cited by applicant]
US 6149318A · Chase et al. · 2000 [cited by applicant]
US 6219805B1 · Jones et al. · 2001 [cited by applicant]
US 7093239B1 · van der Made · 2006 [cited by applicant]
US 7137103B2 · Aizenbud-Reshef et al. · 2006 [cited by applicant]
US 7331043B2 · Saulsbury · 2008 [cited by applicant]
US 7549147B2 · Futoransky et al. · 2009 [cited by applicant]
US 7840844B2 · Garland et al. · 2010 [cited by applicant]
US 8639625B1 · Ginter et al. · 2014 [cited by applicant]
US 8732838B2 · Medvedev et al. · 2014 [cited by applicant]
US 8812417B2 · Martinez · 2014 [cited by examiner]
US 8875091B1 · Rouleau et al. · 2014 [cited by applicant]
US 9032531B1 · Scorvo et al. · 2015 [cited by applicant]
US 9817974B1 · Huang et al. · 2017 [cited by applicant]
US 9946879B1 · Sharifi Mehr · 2018 [cited by applicant]
US 9959198B1 · Jha et al. · 2018 [cited by applicant]
US 10019338B1 · Goradia · 2018 [cited by examiner]
US 10296437B2 · Ismael · 2019 [cited by examiner]
US 10503632B1 · Sivanantham et al. · 2019 [cited by applicant]
US 10503822B1 · Spencer et al. · 2019 [cited by applicant]
US 10853231B2 · Guenther et al. · 2020 [cited by applicant]
US 11093378B2 · Balasubramanian et al. · 2021 [cited by applicant]
US 11232383B1 · Burns, Sr. et al. · 2022 [cited by applicant]
US 11321221B2 · Li et al. · 2022 [cited by applicant]
US 11556815B1 · Stave et al. · 2023 [cited by applicant]
US 11562349B2 · McCauley et al. · 2023 [cited by applicant]
US 11656978B1 · Konrardy et al. · 2023 [cited by applicant]
US 11854706B2 · Peri · 2023 [cited by examiner]
US 11954019B2 · Sharma · 2024 [cited by examiner]
US 12056626B2 · Poon · 2024 [cited by examiner]
US 12488225B1 · Estrada · 2025 [cited by examiner]
US 12536175B2 · Chen · 2026 [cited by examiner]
US 20110314450A1 · Shochat et al. · 2011 [cited by applicant]
US 20130124927A1 · Balko · 2013 [cited by applicant]
US 20180121657A1 · Hay et al. · 2018 [cited by applicant]
US 20190205542A1 · Kao et al. · 2019 [cited by applicant]
US 20210200662A1 · Li et al. · 2021 [cited by applicant]
Zhao et al, “Optimizing Supply Chain Risk Management: An Integrated Framework Leveraging Large Language Models”, IEEE, pp. 1-6 (Year: 2024). [cited by examiner]
Mei et al, “Efficiency optimization of large-scale language models based on deep learning in natural language processing tasks”, IEEE, pp. 1-8 (Year: 2024). [cited by examiner]
Zini et al, “On the Explainability of Natural Language Processing Deep Models”, ACM, pp. 1-32 (Year: 2022). [cited by examiner]
Touili et al, “SMODIC: A Model Checker for Self-modifying Code”, ACM, pp. 1-6 (Year: 2022). [cited by applicant]
Smith et al, “Verifying data refinements using a model checker”, Formal Aspects of Computing, pp. 264-287 (Year: 2006). [cited by applicant]
Ismail et al, “A Review on BIM-Based Automated Code Compliance Checking System”, IEEE, pp. 1-6 (Year: 2017). [cited by applicant]
Haider et al, “Risk Factors and Practices for the Development of Open Source Software From Developers' Perspective”, IEEE, pp. 63333-63350 (Year: 2023). [cited by applicant]
Mokhov et al, “MARFCAT: Fast Code Analysis for Defects and Vulnerabilities”, IEEE, pp. 35-38 (Year: 2015). [cited by applicant]
Orton et al, “Source Code Patches from Dynamic Analysis”, ACM, pp. 1-8 (Year: 2021). [cited by applicant]
Hassan et al, “Architectural-Level Risk Analysis Using UML”, IEEE, pp. 946-959 (Year: 2003). [cited by applicant]
Meneely et al, “An Empirical Investigation of Socio-technical Code Review Metrics and Security Vulnerabilities”, ACM, pp. 37-44 (Year: 2014). [cited by applicant]
Neumann, “An Enhanced Neural Network Technique for Software Risk Analysis”, IEEE, pp. 904-912 (Year: 2002). [cited by applicant]
Office Action (Notice of Allowance and Fees Due (PTOL-85)) dated Jan. 24, 2022 for U.S. Appl. No. 16/731,499 {pp. 1-16). [cited by applicant]
Office Action dated Mar. 19, 2021 for U.S. Appl. No. 16/731,499 (pp. 1-4). [cited by applicant]
Spadini et al “On The Relation of Test Smells to Software Code Quality”, IEEE, pp. 1-12 (Year: 2018). [cited by applicant]
Wedel et al., Mining Software Code Repositories and Bug Databases using Survival Analysis Models, ACM, pp. 282-284 (Year: 2008). [cited by applicant]