Systems and techniques for determining the predictive value of a feature
US-2018060738-A1 · Mar 1, 2018 · US
US10423409B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10423409-B2 |
| Application number | US-201815960194-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 23, 2018 |
| Priority date | Apr 21, 2017 |
| Publication date | Sep 24, 2019 |
| Grant date | Sep 24, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for computing weights for source code alerts. One of the methods includes generating a respective sample of alerts for each feature of a plurality of features. One or more feature values are computed for alerts having a same respective attribute value for each feature of a plurality of features. An importance distribution that maps each feature value to a respective measure of importance for an alert having the feature value is used to compute a respective feature score for the feature using one or more feature values computed the alert. A respective weight is computed for each alert by combining the plurality of feature scores computed for the alert.
Opening claim text (preview).
What is claimed is: 1. A method performed by a source code analysis system comprising one or more computers, the method comprising: generating, by an analysis engine of the source code analysis system programmed to perform one or more source code analysis processes, a plurality of alerts for each project of a plurality of different software projects, wherein each alert represents a coding defect occurring in a respective software project analyzed by the analysis engine, and wherein each alert has one or more respective attribute values for one or more respective alert attributes; obtaining, by an alert weighting engine of the source code analysis system programmed to perform an alert weighting process, alerts previously generated by the analysis engine of the source code analysis system; generating, by the alert weighting engine from the alerts previously generated by the analysis engine of the source code analysis system, a respective sample of alerts for each feature of a plurality of features, each sample comprising alerts occurring in one or more of the plurality of different software projects, each alert having a particular attribute value corresponding to the feature, wherein each alert represents a coding defect occurring in one of the plurality of different software projects analyzed by the source code analysis system; computing, by the alert weighting engine for each sample of alerts corresponding to each attribute value and for each feature of a plurality of features, respective feature values for alerts having the attribute value for the feature; computing, by the alert weighting engine from the feature values computed for a feature of the plurality of features, a respective feature value distribution for each attribute value, wherein each respective feature value distribution for an attribute value maps each feature value of a plurality of feature values to a respective likelihood representing how likely it is for an alert having the attribute value to have the feature value for the feature; receiving, by the alert weighting engine, a request to rank a plurality of alerts by priority of addressing respective coding defects represented by the plurality of alerts, wherein the plurality of alerts is generated by one of the one or more source code analysis processes, wherein each alert of the plurality of alerts represents a respective coding defect of a software project and has one or more respective computed attribute values for one or more features of the plurality of features; obtaining, by the alert weighting engine for each feature of the plurality of features, an importance distribution that maps each feature value of one or more feature values for the feature to a respective measure of importance for an alert having the feature value; computing, by the alert weighting engine for each alert and for each feature, a respective feature value likelihood to which a feature value for the alert is mapped on the importance distribution; computing, by the alert weighting engine for each alert and for each feature, a respective feature score for the feature, the respective feature score being a value to which the computed feature value likelihood for the feature is mapped on the importance distribution for the feature; computing, by the alert weighting engine for each alert, a respective weight for the alert by combining the respective feature score for each feature computed for the alert; and providing, by the alert weighting engine, a response to the request comprising a ranking of the plurality of alerts according to the respective weights to indicate a priority of addressing respective coding defects represented by the alerts. 2. The method of claim 1 , wherein each alert has a respective attribute value that represents a rule type of a static analysis rule used to generate the alert. 3. The method of claim 1 , wherein each alert has a respective attribute value that represents a file in which the alert occurs. 4. The method of claim 3 , wherein computing the respective feature values for alerts in each sample of alerts comprises computing a feature value using alerts having a particular attribute and occurring during a same time window. 5. The method of claim 1 , wherein responding to the request comprises providing a user interface presentation that presents a plurality of attribute values for a particular alert attribute, and further comprising: receiving a user selection of the particular attribute value; and in response to receiving the user selection, displaying on the user device one or more alerts having the particular attribute value. 6. The method of claim 1 , further comprising: identifying a user who submitted the request; identifying one or more alerts of the plurality of alerts that represent respective coding defects introduced in one or more software projects of the plurality of software projects by the user who submitted the request; and wherein responding to the request comprises providing a user interface presentation that prioritizes the one or more alerts that represent the respective coding defects introduced by the user. 7. The method of claim 1 , further comprising: identifying a user who submitted the request; identifying one or more files of the software project that the user has viewed or worked on; and wherein responding to the request comprises providing a user interface presentation that prioritizes alerts that occur in the one or more files. 8. The method of claim 1 , further comprising: computing, from the respective feature values computed for a feature, a feature value distribution that represents a likelihood that an alert having an attribute value will have a particular feature value for the feature. 9. A source code analysis system comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: generating, by an analysis engine of the source code analysis system programmed to perform one or more source code analysis processes, a plurality of alerts for each project of a plurality of different software projects, wherein each alert represents a coding defect occurring in a respective software project analyzed by the analysis engine, and wherein each alert has one or more respective attribute values for one or more respective alert attributes; obtaining, by an alert weighting engine of the source code analysis system programmed to perform an alert weighting process, alerts previously generated by the analysis engine of the source code analysis system; generating, by the alert weighting engine from the alerts previously generated by the analysis engine of the source code analysis system, a respective sample of alerts for each feature of a plurality of features, each sample comprising alerts occurring in one or more of the plurality of different software projects, each alert having a particular attribute value corresponding to the feature, wherein each alert represents a coding defect occurring in one of the plurality of different software projects analyzed by the source code analysis system; computing, by the alert weighting engine for each sample of alerts corresponding to each attribute value and for each feature of a plurality of features, respective feature values for alerts having the attribute value for the feature; computing, by the alert weighting engine from the feature values computed for a feature of the plurality of features, a respective feature value distribution for each attribute value, wherein each respective feature value distribution for an attribute value maps each feature value of a plurality of featur
Analysis of software for verifying properties of programs (testing of software G06F11/3668) · CPC title
for evaluating statistical data {, e.g. average values, frequency distributions, probability functions, regression analysis (forecasting specially adapted for a specific administrative, business or logistic context G06Q10/04)} · CPC title
Alarm or error message display · CPC title
Structural analysis for program understanding · CPC title
using logs of notifications; Post-processing of notifications · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.