IP Library Granted Patent US 12,725,076
Granted Patent B2
US 12,725,076 · App. 17/506,753 · Granted Sep 1, 2026

Artificial intelligence model learning introspection

Inventors: Sahil Suneja (Ossining, NY); Yufan Zhuang (New York, NY); Yunhui Zheng (Chappaqua, NY); Alessandro Morari (New York, NY); Jim Alain Laredo (Katonah, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06N20/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,725,076
App. No.
17/506,753
Granted
Sep 1, 2026
Kind
B2
Abstract

Techniques regarding AI model introspection are provided. For example, one or more embodiments described herein can comprise a system, which can comprise a memory that can store computer executable components. The system can also comprise a processor, operably coupled to the memory, and that can execute the computer executable components stored in the memory. The computer executable components can comprise model introspection component that can analyze artificial intelligence model learning behavior for a code understanding task by comparing an output of an artificial intelligence model with respect to a plurality of testing data subsets that have varying code complexity distributions.

Claims (72)

1 . A system, comprising:

a memory that stores computer executable components; and

a processor, operably coupled to the memory, and that executes the computer executable components stored in the memory, wherein the computer executable components comprise:

a model introspection component that analyzes artificial intelligence model learning behavior for a code understanding task;

an extraction component that extracts one or more code complexity metrics for a plurality of source code samples included in a testing dataset;

a testing data subset component that generates a first testing data subset and a second testing data subset by grouping the plurality of source code samples based on a performance metric that evaluates prediction correctness of the artificial intelligence model, wherein the first testing data subset comprises source code samples associated with a true positive result of the artificial intelligence model, and wherein the second testing data subset comprises source code samples associated with a false negative result of the artificial intelligence model;

a distribution component that determines, based on the one or more code complexity metrics, a first distribution of the source code samples within the first testing data subset and a second distribution of the source code samples within the second testing data subset; and

a comparison component that compares the first distribution with the second distribution, wherein the model introspection component determines, based on the comparison, aspects of the source code samples that the artificial intelligence model has learned and aspects of the source code samples associated with prediction errors, and generates machine-readable guidance data and causes retraining of the artificial intelligence model based on the identified aspects such that the retrained artificial intelligence model reduces prediction errors associated with the identified aspects of the source code samples.

2 . The system of claim 1 , wherein the performance metric comprises prediction correctness of the artificial intelligence model, and wherein the testing data subset component is configured to group the plurality of source code samples into testing data subsets based on whether corresponding predictions of the artificial intelligence model are correct or incorrect.

3 . The system of claim 1 , wherein the distribution component determines a distribution of the plurality of source code samples within a plurality of testing data subsets based on the one or more code complexity metrics.

4 . The system of claim 3 , further comprising:

a comparison component that compares a first distribution of source code samples associated with a first testing data subset from the plurality of testing data subsets with a second distribution of source code samples associated with a second testing data subset from the plurality of testing data subsets;

wherein the testing data subset component groups the plurality of source code samples based on quantitative performance metrics derived from artificial intelligence model predictions utilizing prediction confidence scores and error classification;

wherein the extraction component extracts a plurality of code complexity metrics from the source code samples, including at least one of: cyclomatic complexity, Halstead complexity, maintainability index, or control flow complexity; and

wherein the comparison component generates a statistical distribution model of the extracted code complexity metrics across the testing data subsets and identifies outlier patterns and complexity thresholds that affect artificial intelligence model prediction accuracy.

5 . A system, comprising:

a memory that stores computer executable components; and

a processor, operably coupled to the memory, and that executes the computer executable components stored in the memory, wherein the computer executable components comprise:

a model introspection component that deduces learning behavior of an artificial intelligence model for a code understanding task by:

extracting one or more code complexity metrics from a plurality of source code samples included in a testing dataset;

programmatically generating a plurality of testing data subsets by grouping the plurality of source code samples based on a performance metric that evaluates prediction outputs of the artificial intelligence model;

executing the artificial intelligence model on each of the testing data subsets to obtain per-subset prediction outputs;

partitioning the testing data subsets into (i) subsets associated with correct predictions and (ii) subsets associated with incorrect predictions based on the per-subset prediction outputs;

determining, based on the one or more code complexity metrics, distributions of the source code samples within the subsets associated with correct predictions and the subsets associated with incorrect predictions;

computing comparative differences between the distributions;

identifying, based on the comparative distributions, complexity thresholds and structural code features correlated with prediction errors of the artificial intelligence model; and

generating machine-readable guidance data that specifies modifications to training data or model parameters, and automatically retraining the artificial intelligence model using the identified complexity thresholds and structural code features such that the retrained artificial intelligence model is configured to reduce or eliminate prediction errors for source code samples exhibiting the identified characteristics.

6 . The system of claim 5 , wherein the performance metric comprises prediction correctness of the artificial intelligence model, and wherein the testing data subsets comprise (i) subsets associated with correct predictions and (ii) subsets associated with incorrect predictions based on the per-subset prediction outputs.

7 . The system of claim 5 , wherein a distribution component determines a distribution of the plurality of source code samples within the plurality of testing data subsets based on the one or more code complexity metrics.

8 . The system of claim 7 , further comprising:

a comparison component that compares a first distribution of source code samples associated with a first testing data subset from the plurality of testing data subsets with a second distribution of source code samples associated with a second testing data subset from the plurality of testing data subsets.

9 . A computer-implemented method, comprising:

extracting, by a processor, one or more code complexity metrics from a plurality of source code samples included in a testing dataset;

generating, by the processor, a plurality of testing data subsets by grouping the plurality of source code samples based on a performance metric that evaluates prediction outputs of an artificial intelligence model;

executing, by the processor, the artificial intelligence model on each of the testing data subsets to obtain per-subset prediction outputs;

partitioning, by the processor, the testing data subsets into (i) subsets associated with correct predictions and (ii) subsets associated with incorrect predictions based on the per-subset prediction outputs;

determining, by the processor and based on the one or more code complexity metrics, distributions of the source code samples within the subsets associated with correct predictions and the subsets associated with incorrect predictions;

computing, by the processor, comparative differences between the distributions;

identifying, by the processor and based on the comparative differences, complexity thresholds and structural code features correlated with prediction errors of the artificial intelligence model; and

generating, by the processor, machine-readable guidance data that specifies modifications to training data or model parameters, and retraining, by the processor, the artificial intelligence model based on the identified complexity thresholds and structural code features such that the retrained artificial intelligence model reduces prediction errors associated with the identified characteristics.

10 . The computer-implemented method of claim 9 , wherein the performance metric comprises prediction correctness of the artificial intelligence model, and wherein generating the plurality of testing data subsets comprises grouping the plurality of source code samples into (i) subsets associated with correct predictions and (ii) subsets associated with incorrect predictions based on the per-subset prediction outputs.

11 . The computer-implemented method of claim 9 , further comprising

determining, by the processor, a distribution of the plurality of source code samples within the plurality of testing data subsets based on the one or more code complexity metrics.

12 . The computer-implemented method of claim 11 , further comprising:

comparing, by the processor, a first distribution of source code samples associated with a first testing data subset from the plurality of testing data subsets with a second distribution of source code samples associated with a second testing data subset from the plurality of testing data subsets.

13 . A computer-implemented method, comprising:

extracting, by a processor, one or more code complexity metrics from a plurality of source code samples included in a testing dataset;

generating, by the processor, a plurality of testing data subsets by grouping the plurality of source code samples based on a performance metric that evaluates prediction outputs of an artificial intelligence model;

executing, by the processor, the artificial intelligence model on each of the testing data subsets to obtain per-subset prediction outputs;

partitioning, by the processor, the testing data subsets into (i) subsets associated with correct predictions and (ii) subsets associated with incorrect predictions based on the per-subset prediction outputs;

analyzing, by the processor, performance differences between the testing data subsets by determining, based on the one or more code complexity metrics, distributions of the source code samples within the subsets associated with correct predictions and the subsets associated with incorrect predictions and computing comparative differences between the distributions;

deducing, by the processor and from the comparative differences, aspects of learning behavior of the artificial intelligence model, including identification of complexity thresholds and structural code features correlated with systematic prediction errors; and

generating, by the processor, machine-readable guidance data specifying modifications to training data or model parameters, and retraining, by the processor, the artificial intelligence model based on the identified complexity thresholds and structural code features such that the retrained artificial intelligence model reduces prediction errors associated with the identified characteristics.

14 . The computer-implemented method of claim 13 , wherein the performance metric comprises prediction correctness of the artificial intelligence model, and wherein generating the plurality of testing data subsets comprises grouping the plurality of source code samples into (i) subsets associated with correct predictions and (ii) subsets associated with incorrect predictions based on the per-subset prediction outputs.

15 . The computer-implemented method of claim 13 , further comprising

determining, by the processor, a distribution of the plurality of source code samples within the plurality of testing data subsets based on the one or more code complexity metrics.

16 . The computer-implemented method of claim 15 , further comprising:

comparing, by the processor, a first distribution of source code samples associated with a first testing data subset from the plurality of testing data subsets with a second distribution of source code samples associated with a second testing data subset from the plurality of testing data subsets.

17 . A computer program product for code complexity driven model introspection, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to:

extract one or more code complexity metrics from a plurality of source code samples included in a testing dataset;

generate a plurality of testing data subsets by grouping the plurality of source code samples based on a performance metric that evaluates prediction outputs of an artificial intelligence model;

execute the artificial intelligence model on each of the testing data subsets to obtain per-subset prediction outputs;

partition the testing data subsets into (i) subsets associated with correct predictions and (ii) subsets associated with incorrect predictions based on the per-subset prediction outputs;

determine, based on the one or more code complexity metrics, distributions of the source code samples within the subsets associated with correct predictions and the subsets associated with incorrect predictions;

compute comparative differences between the distributions;

identify, based on the comparative differences, complexity thresholds and structural code features correlated with prediction errors of the artificial intelligence model; and

generate machine-readable guidance data specifying modifications to training data or model parameters, and retrain the artificial intelligence model based on the identified complexity thresholds and structural code features such that the retrained artificial intelligence model reduces prediction errors associated with the identified characteristics.

18 . The computer program product of claim 17 , wherein the performance metric comprises prediction correctness of the artificial intelligence model, and wherein generating the plurality of testing data subsets comprises grouping the plurality of source code samples into (i) subsets associated with correct predictions and (ii) subsets associated with incorrect predictions based on the per-subset prediction outputs.

19 . The computer program product of claim 17 , wherein the program instructions further cause the processor to:

determine, by the processor, a distribution of the plurality of source code samples within the plurality of testing data subsets based on the one or more code complexity metrics.

20 . The computer program product of claim 19 , wherein the program instructions further cause the processor to:

compare, by the processor, a first distribution of source code samples associated with a first testing data subset from the plurality of testing data subsets with a second distribution of source code samples associated with a second testing data subset from the plurality of testing data subsets.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2021
From: SUNEJA, SAHIL; ZHUANG, YUFAN; ZHENG, YUNHUI; MORARI, ALESSANDRO; LAREDO, JIM ALAIN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057859/0847 →
Continuity (1)
Related Publication 20230130781A1 · Apr 27, 2023
References Cited (124)
US 6393386B1 · Zager et al. · 2002 [cited by applicant]
US 10540257B2 · Tezuka et al. · 2020 [cited by applicant]
US 10949338B1 · Sirianni · 2021 [cited by examiner]
US 11455493B2 · Hind et al. · 2022 [cited by applicant]
US 20150135166A1 · Tarlow · 2015 [cited by examiner]
US 20160358099A1 · Sturlaugson et al. · 2016 [cited by applicant]
US 20190057014A1 · Shalev · 2019 [cited by examiner]
US 20190317885A1 · Heinecke · 2019 [cited by examiner]
US 20190324744A1 · Alam · 2019 [cited by examiner]
US 20200034665A1 · Ghanta et al. · 2020 [cited by applicant]
US 20200311557A1 · Jin et al. · 2020 [cited by applicant]
US 20210004671A1 · Brill et al. · 2021 [cited by applicant]
CN 106294174A · 2017 [cited by applicant]
CN 110135592A · 2019 [cited by applicant]
CN 110378463A · 2019 [cited by applicant]
CN 111338972A · 2020 [cited by applicant]
CN 112189204A · 2021 [cited by applicant]
CN 118159943A · 2024 [cited by applicant]
EP 3805933A1 · 2021 [cited by applicant]
GB 2627379A · 2024 [cited by applicant]
JP 2018156654A · 2018 [cited by applicant]
JP 2024538950A · 2024 [cited by applicant]
WO 2021051917A1 · 2021 [cited by applicant]
WO 2021069149A1 · 2021 [cited by applicant]
WO 2023066237A1 · 2023 [cited by applicant]
Zhang, H., Zhang, X., & Gu, M. (Dec. 2007). Predicting defective software components from code complexity measures. In 13th Pacific Rim International Symposium on Dependable Computing (PRDC 2007) (pp. 93-96). IEEE. (Yea… [cited by examiner]
Bhandari, G. P., & Gupta, R. (Nov. 2018). Measuring the fault predictability of software using deep learning techniques with software metrics. In 2018 5th IEEE Uttar Pradesh Section International Conference on Electrica… [cited by examiner]
Le, T. H., Chen, H., & Babar, M. A. (Jun. 2020). Deep learning for source code modeling and generation: Models, applications, and challenges. ACM Computing Surveys (CSUR), 53(3), 1-38. (Year: 2020). [cited by examiner]
Sharma, T., Kechagia, M., Georgiou, S., Tiwari, R., Vats, I., Moazen, H., & Sarro, F. (Oct. 18, 2021). A survey on machine learning techniques for source code analysis. arXiv preprint arXiv:2110.09610. (Year: 2021). [cited by examiner]
Dabkowski, P., & Gal, Y. (Dec. 2017). Real time image saliency for black box classifiers. Advances in neural information processing systems, 30. (Year: 2017). [cited by examiner]
Warnecke, A., Arp, D., Wressnegger, C., & Rieck, K. (Jun. 2019). Don't paint it black: White-box explanations for deep learning in computer security. CoRR. (Year: 2019). [cited by examiner]
Baniecki, H., Kretowicz, W., PiÄ, P., & Wil, J. (Oct. 2021. dalex: Responsible machine learning with interactive explainability and fairness in python. Journal of Machine Learning Research, 22(214), 1-7. (Year: 2021). [cited by examiner]
“Juliet Test Suite for C/C++ Version 1.3”, URL: https://doi.org/10.6028/NIST.TN.1995, NIST, 2017, 36 pages. [cited by applicant]
Panthaplackel et al., “Learning to Update Natural Language Comments Based on Code Changes”, Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, Jul. 5-10, 2020, 16 pages. [cited by applicant]
Pascarella et al., “On the performance of method-level bug prediction: A negative result”, The Journal of Systems & Software, vol. 161, 2020, 22 pages. [cited by applicant]
Patra et al., “Semantic Bug Seeding: A Learning Based Approach for Creating Realistic Bugs”, ESEC/FSE, Association for Computing Machinery, Aug. 23-28, 2021, pp. 906-918. [cited by applicant]
Pradel et al., “DeepBugs: A Learning Approach to Name-Based Bug Detection”, Proceedings of the ACM on Programming Languages, 2(OOPSLA), Article 147, Nov. 2018, pp. 1-25. [cited by applicant]
Rabin et al., “Understanding Neural Code Intelligence through Program Simplification”, Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software E… [cited by applicant]
Ribeiro et al., “”Why should I trust you?“ Explaining the Predictions of any Classifier”, Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2016, 10 pages. [cited by applicant]
Roy et al., “Bug Synthesis: Challenging Bug-Finding Tools with Deep Faults”, Proceedings of the 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering… [cited by applicant]
Russell et al., “Automated Vulnerability Detection in Source Code Using Deep Representation Learning”, 17th IEEE International Conference on Machine Learning and Applications, 2018, 7 pages. [cited by applicant]
Selvaraju et al., “Grad-Cam: Visual Explanations from Deep Networks via Gradient-Based Localization”, Proceedings of the IEEE international conference on computer vision, 2017, 24 pages. [cited by applicant]
Sestili et al., “Towards security defect prediction with Al”, URL: https://arxiv.org/pdf/1808.09897.pdf, 2018, 11 pages. [cited by applicant]
Shorten et al., “A survey on image data augmentation for deep learning”, Journal of Big Data, vol. 6, No. 60, 2019, pp. 1-48. [cited by applicant]
Shrikumar et al., “Learning Important Features Through Propagating Activation Differences”, Proceedings of the 34th International Conference on Machine Learning, 2017, 9 pages. [cited by applicant]
Sundararajan et al., “Axiomatic Attribution for Deep Networks”, Proceedings of the 34th International Conference on Machine Learning, 2017, 11 pages. [cited by applicant]
Suneja et al., “Learning to map source code to software vulnerability using code-as-a-graph”, URL: https://arxiv.org/ftp/arxiv/papers/2006/2006.08614.pdf, 2020, pp. 1-8. [cited by applicant]
Suneja et al., “Probing Model Signal-Awareness via Prediction-Preserving Input Minimization”, Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Sof… [cited by applicant]
Mckay, Peter, “Accelerating our developer-first vision with DeepCode”, URL: https://snyk.io/blog/accelerating-developer-first-vision-with-deepcode/, Snyk Team, Sep. 23, 2020, pp. 1-5. [cited by applicant]
Tufano et al., “On Learning Meaningful Code Changes via Neural Machine Translation”, Proceedings of the 41st International Conference on Software Engineering, IEEE/ACM, May 25-31, 2019, pp. 25-36. [cited by applicant]
Tufano et al., “An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translation”, ACM Transactions on Software Engineering and Methodology, vol. 28, No. 4, Article 19, Sep. 2019, pp. 1-29. [cited by applicant]
Tufano et al., “Learning How to Mutate Source Code from Bug-Fixes”, International Conference on Software Maintenance and Evolution, IEEE, Sep. 29-Oct. 4, 2019, 12 pages. [cited by applicant]
Velićković et al., “Graph Attention Networks”, International Conference on Learning Representations, 2018, pp. 1-12. [cited by applicant]
Xie et al., “Crystal Graph Convolutional Neural Networks for an Accurate and Interpretable Prediction of Material Properties”, Physical Review Letters, vol. 120, No. 14, 2018, pp. 1-9. [cited by applicant]
Yamaguchi et al., “Modeling and Discovering Vulnerabilities with Code Property Graphs”, IEEE Symposium on Security and Privacy, 2014, 15 pages. [cited by applicant]
Yang et al., “A Survey on Deep Learning for Software Engineering”, ACM Comput. Surv., vol. 1, No. 1, Article 1, Jan. 2020, pp. 1-35. [cited by applicant]
Ying et al., “GNNExplainer: Generating Explanations for Graph Neural Networks”, 33rd Conference on Neural Information Processing Systems, 2019, pp. 1-13. [cited by applicant]
Yu et al., “Seqgan: Sequence Generative Adversarial Nets with Policy Gradient”, Proceedings of the AAAI Conference on Artificial Intelligence, vol. 31, 2017, 11 pages. [cited by applicant]
Zeller, Andreas, “Isolating Cause-Effect Chains from Computer Programs”, Proceedings of the 10th ACM SIGSOFT Symposium on Foundations of Software Engineering, SIGSOFT '02/FSE-10, Nov. 18-22, 2002, pp. 1-10. [cited by applicant]
Zeller et al., “Simplifying and Isolating Failure Inducing Input”, IEEE Transactions on Software Engineering, vol. 28, No. 2, Feb. 2002, pp. 1-17. [cited by applicant]
Zhang et al., “Towards Stable and Efficient Training of Verifiably Robust Neural Networks”, International Conference on Learning Representations, 2019, pp. 1-25. [cited by applicant]
Zhao et al., “On the Impact of Sample Duplication in Machine Learning-Based Android Malware Detection”, ACM Transactions on Software Engineering and Methodology, vol. 30, No. 3, Article 40, May 2021, pp. 1-38. [cited by applicant]
Zheng et al., “D2A: A Dataset Built for Al-Based Vulnerability Detection Methods Using Differential Analysis”, Proceedings of the ACM/IEEE 43rd International Conference on Software Engineering: Software Engineering in P… [cited by applicant]
Madry, et al., “Towards Deep Learning Models Resistant to Adversarial Attacks,” 2018 In International Conference on Learning Representation, 2018. [cited by applicant]
Snyk Team. Accelerating our developer-first vision with DeepCode. https://snyk.io/blog/accelerating-developer-first-vision-with-deepcode/. Sep. 23, 2020. [cited by applicant]
Zhou, et al., Devign: Effective Vulnerability Identification by Learning Comprehensive Program Semantics via Graph Neural Networks. In Advances in Neural Information Process, arXiv:1909.03496v1 [cs.SE] Sep. 8, 2019. [cited by applicant]
Zhou, et al., “Learning Deep Features for Discriminative Localization,” 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 9 pages. [cited by applicant]
Ribeiro, et al., ““Why Should I Trust You?” Explaining the Predictions of Any Classifier,” arXiv: 1602.04938v3 [cs.LG] Aug. 9, 2016, 10 pages. [cited by applicant]
Gelman, “Exploratory Data Analysis for Complex Models,” © 2004 American Statistical Association, Institute of Mathematical Statistics, and Interface Foundation of North America Journal of Computational and Graphical Sta… [cited by applicant]
Wu, et al., “Data Mining with Big Data,” IEEE Transactions On Knowledge and Data Engineering, vol. 26, No. 1, Jan. 2014, 11 pages. [cited by applicant]
Mell et al., The NIST Definition of Cloud Computing, Recommendations of the National Institute of Standards and Technology, NIST Special Publication 800-145, Sep. 2011, 7 pages. [cited by applicant]
Github, “Risk Assessment of GitHub Copilot”, URL: https://gist.github.com/0xabad1dea/be18e11beb2e12433d93475d72016902, 0xabad1dea, Jul. 2021, pp. 1-21. [cited by applicant]
Adebayo et al., “Sanity checks for saliency maps”, Proceedings of the 32nd International Conference on Neural Information Processing Systems, 2018, 30 pages. [cited by applicant]
Ahluwalia et al., “Snoring: a noise in defect prediction datasets”, Proceedings of the 16th International Conference on Mining Software Repositories, 2019, pp. 63-67. [cited by applicant]
Allamania et al., “Suggesting Accurate Method and Class Names”, Proceedings of the 10th Joint Meeting on Foundations of Software Engineering, Aug. 30-Sep. 4, 2015, pp. 38-49. [cited by applicant]
Allamanis et al., “Learning to Represent Programs with Graphs”, ICLR, 2018, pp. 1-17. [cited by applicant]
Allamanis et al., “A Convolutional Attention Network for Extreme Summarization of Source Code”, ICML, vol. 48, 2016, 11 pages. [cited by applicant]
Bader et al., “AI in Software Engineering at Facebook”, IEEE Software, vol. 38, No. 4, Jul.-Aug. 2021, pp. 52-61. [cited by applicant]
Bangash et al., “On the time-based conclusion stability of cross-project defect prediction models”, Empirical Software Engineering, vol. 25, No. 6, Sep. 9, 2020, 38 pages. [cited by applicant]
Bavishi et al., “Context2Name: A Deep Learning-Based Approach to Infer Natural Variable Names from Usage Contexts”, URL: https://arxiv.org/pdf/1809.05193.pdf, Aug. 31, 2018, pp. 1-13. [cited by applicant]
Zhou et al., “Learning Deep Features for Discriminative Localization”, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, pp. 1-10. [cited by applicant]
Bennaceur et al., “Machine Learning for Software Analysis: Models, Methods, and Applications”, Lecture Notes in Computer Science, vol. 11026, 2018, pp. 3-49. [cited by applicant]
Bielik et al., “Adversarial Robustness for Code”, Proceedings of the 37th International Conference on Machine Learning, ICML, Virtual Event (Proceedings of Machine Learning Research, vol. 119), Jul. 13-18, 2020, 18 page… [cited by applicant]
Brown et al., “The Care and Feeding of Wild-Caught Mutants”, Proceedings of the 11th Joint Meeting on Foundations of Software Engineering, Sep. 4-8, 2017, 511-522. [cited by applicant]
Brown et al., “Language models are few-shot learners”, URL: https://arxiv.org/pdf/2005.14165.pdf, 2020, pp. 1-75. [cited by applicant]
Chakraborty et al., “Bias in Machine Learning Software: Why? How? What to do?”, 29th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ACM, Aug. 23-28, 2021, 12… [cited by applicant]
Chawla et al., “SMOTE: Synthetic Minority Over-sampling Technique”, Journal of Artificial Intelligence Research, vol. 16, Jun. 2002, pp. 321-357. [cited by applicant]
Ciniselli et al., “An Empirical Study on the Usage of BERT Models for Code Completion”, 18th IEEE/ACM International Conference on Mining Software Repositories, MSR, May 17-19, 2021, 12 pages. [cited by applicant]
Cuoq et al., “Frama-C”, International Conference on Software Engineering and Formal Methods, Springer, Oct. 2012, 16 pages. [cited by applicant]
Dam et al., “Automatic Feature Learning for Predicting Vulnerable Software Components”, IEEE Transactions on Software Engineering, vol. 14, No. 8, Aug. 2015, pp. 1-19. [cited by applicant]
Dinella et al., “Hoppity: Learning graph transformations to detect and fix bugs in programs”, International Conference on Learning Representations (ICLR), 2020, pp. 1-17. [cited by applicant]
Dolan-Gavitt et al., “LAVA: Large-Scale Automated Vulnerability Addition”, IEEE Symposium on Security and Privacy (SP), 2016, pp. 110-121. [cited by applicant]
“Infer Static Analyzer”, URL: https://fbinfer.com/, Facebook, retrieved on Oct. 28, 2021, pp. 1-5. [cited by applicant]
Garg et al., “Learning To Predict Vulnerabilities From Vulnerability-Fixes: A Machine Translation Approach”, URL: https:/arxiv.org/pdf/2012.11701.pdf, 2020, 12 pages. [cited by applicant]
Github, “Your AI pair programmer”, URL: https://copilot.github.com/, 2021, 12 pages. [cited by applicant]
Golagha et al., “Can We Predict the Quality of Spectrum based Fault Localization?”, 13th IEEE International Conference on Software Testing, Validation and Verification, ICST, IEEE, Oct. 24-28, 2020, pp. 4-15. [cited by applicant]
Gowal et al., “On the Effectiveness of Interval Bound Propagation for Training Verifiably Robust Models”, URL: https://arxiv.org/pdf/1810.12715.pdf, 2018, 16 pages. [cited by applicant]
Graves et al., “Automated Curriculum Learning for Neural Networks”, Proceedings of the 34th International Conference on Machine Learning, PMLR, vol. 70, 2017, 10 pages. [cited by applicant]
Gros et al., “Code to Comment “Translation”: Data, Metrics, Baselining & Evaluation”, 35th IEEE/ACM International Conference on Automated Software Engineering, ASE, IEEE, Sep. 21-25, 2020, pp. 746-757. [cited by applicant]
Guo et al., “LEMNA: Explaining Deep Learning based Security Applications”, Proceedings of the ACM SIGSAC Conference on Computer and Communications Security, Oct. 15-19, 2018, 16 pages. [cited by applicant]
Gupta et al., “Locating Faulty Code Using Failure-Inducing Chops”, Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, Nov. 7-11, 2005, pp. 263-272. [cited by applicant]
Hacohen et al., “On The Power of Curriculum Learning in Training Deep Networks”, Proceedings of the 36th International Conference on Machine Learning, Proceedings of Machine Learning Research, vol. 97, 2019, 13 pages. [cited by applicant]
Iyer et al., “Summarizing Source Code using a Neural Attention Model”, Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics, Aug. 7-12, 2016, pp. 2073-2083. [cited by applicant]
Kim et al., “Code Prediction by Feeding Trees to Transformers”, 43rd IEEE/ACM International Conference on Software Engineering, ICSE, May 22-30, 2021, pp. 150-162. [cited by applicant]
Kingma et al., “Adam: A Method for Stochastic Optimization”, URL: https://arxiv.org/pdf/1412.6980.pdf, 2017, pp. 1-15. [cited by applicant]
Laidlaw et al., “Perceptual Adversarial Robustness: Defense Against Unseen Threat Models”, International Conference on Learning Representations, 2020, pp. 1-22. [cited by applicant]
Li et al., “Gated Graph Sequence Neural Networks”, International Conference on Learning Representations, 2017, pp. 1-20. [cited by applicant]
Li et al., “SySeVR: A Framework for Using Deep Learning to Detect Software Vulnerabilities”, URL: https://arxiv.org/pdf/1807.06756v2.pdf, 2018, pp. 1-13. [cited by applicant]
Li et al., “VulDeePecker: A Deep Learning-Based System for Vulnerability Detection”, 25th Annual Network and Distributed System Security Symposium, Feb. 18-21, 2018, pp. 1-15. [cited by applicant]
Liu et al., “Multi-task Learning based Pretrained Language Model for Code Completion”, 35th IEEE/ACM International Conference on Automated Software Engineering, Sep. 21-25, 2020. pp. 473-485. [cited by applicant]
Liu et al., “Learning to Spot and Refactor Inconsistent Method Names”, Proceedings of the 41st International Conference on Software Engineering, May 25-31, 2019, pp. 1-12. [cited by applicant]
“Lizard”, A simple code complexity analyser, URL: https://github.com/terryyin/lizard, 2012, pp. 1-9. [cited by applicant]
Lou et al., “Boosting Coverage-Based Fault Localization via Graph-Based Representation Learning”, 29th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ACM, Au… [cited by applicant]
Lundberg et al., “A unified approach to interpreting model predictions”, 31st Conference on Neural Information Processing Systems ,Advances in Neural Information Processing Systems, 2017, pp. 1-10. [cited by applicant]
Zhou et al., “Devign: Effective Vulnerability Identification by Learning Comprehensive Program Semantics via Graph Neural Networks”, Advances in Neural Information Processing Systems (NeurIPS) 32, 2019, pp. 1-11. [cited by applicant]
Mazuera-Rozo et al., “Shallow or Deep? An Empirical Study on Detecting Vulnerabilities using Deep Learning”, 29th IEEE/ACM International Conference on Program Comprehension, May 20-21, 2021, 12 pages. [cited by applicant]
“Pmccabe: McCabe style function complexity and line counting for C and C++”, URL: https://people.debian.org/~bame/pmccabe, McCabe, 1992-2021, pp. 1-2. [cited by applicant]
Mirshokraie et al., “Efficient JavaScript Mutation Testing”, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation, 2013, pp. 74-83. [cited by applicant]
Misherghi et al., “HDD: Hierarchical Delta Debugging”, Proceedings of the 28th International Conference on Software Engineering, May 20-28, 2006, 10 pages. [cited by applicant]
Mohapatra et al., “Towards Verifying Robustness of Neural Networks against a Family of Semantic Perturbations”, Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2020, pp. 1-12. [cited by applicant]
Nguyen et al., “Focus: A Recommender System for Mining API Function Calls and Usage Patterns”, Proceedings of the 41st International Conference on Software Engineering, May 25-31, 2019, pp. 1050-1060. [cited by applicant]
International Search Report and Written Opinion received for PCT Application Serial No. PCT/CN2022/125878 dated Dec. 21, 2022, 9 pages. [cited by applicant]
Intellectual Property Office, Patents Act 1977: Examination Report under Section 18(3), Dec. 20, 2024, 3 Pages, GB Application No. 2405783.8. [cited by applicant]
Japan Patent Office, “Notice of Reasons for Refusal” Mar. 31, 2026, 07 Pages, JP Application No. 2024-519748. [cited by applicant]