×

Auto-tuning program analysis tools using machine learning

  • US 10,135,856 B2
  • Filed: 01/25/2016
  • Issued: 11/20/2018
  • Est. Priority Date: 12/18/2014
  • Status: Active Grant
First Claim
Patent Images

1. A method to reduce false alarms generated by an automated analysis tool performing static security analysis on a software system, comprising:

  • receiving a set of data representing findings generated by the automated analysis tool, wherein the automated analysis tool generates findings by static security analysis of a call-tree representing call stacks of an application under analysis, and wherein at least one of the findings represents a vulnerability in the form of an unvalidated flow from a source to a sink in the application;

    with respect to each of one or more particular findings in the set of data, automatically generating a classification for each of the one or more particular findings, wherein the classification is that a particular finding either is true or false and is based at least in part on a characteristic associated with the particular finding;

    based on the automatically-generated classifications for the particular findings, computing a machine learning classifier using software executing in a hardware element by;

    reducing each finding to a feature vector comprising a set of features common to each finding, wherein the set of features include one of;

    witness length, source type, sink type, witness type, conditional statements, method calls and string operations generated by the automated analysis tool performing the static security analysis;

    assigning weights to each of the set of features; and

    based on the assigned weights, computing a weighting function having a threshold value that determines a correctness of a new finding; and

    applying the machine learning classifier to a set of data representing findings generated by the static security analysis to reduce false alarms generated by the automated analysis tool.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×