Detecting misconfiguration and/or bug(s) in large service(s) using correlated change analysis

US11599354B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11599354-B2
Application numberUS-201916515135-A
CountryUS
Kind codeB2
Filing dateJul 18, 2019
Priority dateJul 18, 2019
Publication dateMar 7, 2023
Grant dateMar 7, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Described herein is a system and method for detecting correlated changes (e.g., between code files and configuration files). For a plurality of code files and a plurality of configuration files, a correlated change model is trained to identify correlated changes across the code files and the configuration files using a machine learning algorithm that discovers change rules using a support parameter, and, a confidence parameter, and, a refinement algorithm that refines the discovered change rules. The correlated change model comprising the change rules is stored. The correlated change model can be used to identify potential issue(s) regarding a particular file (e.g., changed code or configuration file(s)). Information regarding the identified potential issue(s) can be provided to a user.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a processor; and a memory having computer-executable instructions stored thereupon which, when executed by the processor, cause the system to: for a plurality of code files and a plurality of configuration files that control runtime execution of one or more features in the plurality of code files, train a correlated change model to identify correlated changes across the plurality of code files and the plurality of configuration files using a machine learning algorithm and a refinement algorithm, wherein the machine learning algorithm discovers change rules using a support parameter and a confidence parameter and the refinement algorithm refines the change rules discovered by the machine learning algorithm, and each change rule identifies a set of two or more files that tend to be changed together; and store the correlated change model comprising the change rules, the correlated change model being configured to use a particular change rule to detect when a particular configuration file is missing a particular change to enable a particular feature in a particular code file. 2. The system of claim 1 , the memory having further computer-executable instructions stored thereupon which, when executed by the processor, cause the system to: for each individual code file of the plurality of code files, apply the refinement algorithm to perform a differential syntax analysis utilizing a first parse tree for the individual code file before a respective change to the individual code file and a second parse tree for the individual code file after the respective change to the individual code file. 3. The system of claim 2 , the memory having further computer-executable instructions stored thereupon which, when executed by the processor, cause the system to: create feature vectors characterizing differences between the first parse tree and the second parse tree for each individual code file. 4. The system of claim 3 , the memory having further computer-executable instructions stored thereupon which, when executed by the processor, cause the system to: train classifiers in accordance with the feature vectors, wherein the correlated change model comprises the trained classifiers. 5. The system of claim 1 , wherein the particular configuration file identifies one or more machines on which the particular feature is enabled. 6. A method, comprising: receiving information regarding a change to a particular code file; inputting the information regarding the change to the particular code file to a machine-trained correlated change model comprising a plurality of change rules that identify sets of two or more files that tend to be changed together; receiving, from the machine-trained correlated change model, identification of a particular configuration file that tends to be changed together with the particular code file, wherein the machine-trained correlated change model identifies the particular configuration file based at least on a particular change rule identifying the particular configuration file as having a tendency to be changed with the particular code file; determining that a corresponding change to the particular configuration file is missing; and providing a suggestion to make the corresponding change to the particular configuration file. 7. The method of claim 6 , further comprising: receiving information regarding a user action in response to the suggestion; and updating the machine-trained correlated change model in accordance with the information regarding the user action, the particular code file, and, the suggestion. 8. The method of claim 6 , further comprising: for a plurality of code files and a plurality of configuration files, training the machine-trained correlated change model to identify correlated changes across the plurality of code files and the plurality of configuration files using a machine learning algorithm and a refinement algorithm, wherein the machine learning algorithm discovers the plurality of change rules using a support parameter and a confidence parameter and the refinement algorithm refines individual change rules discovered using the machine learning algorithm; and storing the machine-trained correlated change model comprising the change rules refined by the refinement algorithm. 9. The method of claim 8 , wherein the refinement algorithm utilizes differential syntax analysis. 10. The method of claim 8 , wherein training the machine-trained correlated change model further comprises: partitioning data into a plurality of partitions based upon similar edit-frequency; for each particular partition of the plurality of partitions: training a plurality of machine-trained models; performing rule-mining; performing parameter tuning of at least one of the support parameter or the confidence parameter; and selecting a specific model from the plurality of machine-trained models for the particular partition. 11. The method of claim 6 , wherein the information regarding the change to the particular code file is received responsive to the particular code file being committed to a repository. 12. The method of claim 6 , further comprising: extracting a parse tree for the particular code file and using a classifier of the machine-trained correlated change model to identify the suggestion based at least on the parse tree. 13. A computer storage media storing computer-readable instructions that, when executed, cause a computing device to: receive information regarding a change to a particular code file; provide the information regarding the change to the particular code file to a machine-trained correlated change model comprising a plurality of change rules that identify sets of two or more files that tend to be changed together; receive, from the machine-trained correlated change model, identification of a particular configuration file that tends to be changed together with the particular code file, wherein the machine-trained correlated change model identifies the particular configuration file based at least on a particular change rule identifying the particular configuration file as having a tendency to be changed with the particular code file; determine that a particular change to the particular configuration file to enable a particular feature in the particular code file is missing; and output a suggestion to make the particular change to the particular configuration file to enable runtime execution of the particular feature in the particular code file. 14. The computer storage media of claim 13 storing further computer-readable instructions that, when executed, cause the computing device to: receive information regarding a user action in response to the suggestion; and update the machine-trained correlated change model in accordance with the information regarding the user action, the particular configuration file, and the suggestion. 15. The computer storage media of claim 13 storing further computer-readable instructions that, when executed, cause the computing device to: for a plurality of code files and a plurality of configuration files, train the machine-trained correlated change model to identify correlated changes across the plurality of code files and the plurality of configuration files using a machine learning algorithm and a refinement algorithm, wherein the machine learning algorithm discovers the plurality of change rules using a support parameter and a confidence parameter and the refinement algorithm refines individual change rules; and store the machine-trained correlated change model comprising the plur

Assignees

Inventors

Classifications

  • Structural analysis for program understanding · CPC title

  • Semantic checking · CPC title

  • Machine learning · CPC title

  • G06F8/71Primary

    Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

  • G06F11/368Primary

    for test version control, e.g. updating test cases to a new software version · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11599354B2 cover?
Described herein is a system and method for detecting correlated changes (e.g., between code files and configuration files). For a plurality of code files and a plurality of configuration files, a correlated change model is trained to identify correlated changes across the code files and the configuration files using a machine learning algorithm that discovers change rules using a support param…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F8/71. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 07 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).