Regression evaluation using behavior models of software applications

US9594665B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9594665-B2
Application numberUS-201414198284-A
CountryUS
Kind codeB2
Filing dateMar 5, 2014
Priority dateMar 5, 2014
Publication dateMar 14, 2017
Grant dateMar 14, 2017

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.

Comparisons of different versions of an application may be compared using a behavior model of the application. A behavior model may be derived from n-gram analysis of observations of the application in production. The behavior model may include sequences of inputs received by the application or functions performed by the application, where each sequence is an n-gram observed in tracer data. Each n-gram may be coupled with a resource consumption to give a behavior model with performance data. A regression analysis may apply a behavior model derived from a first version of an application to the performance observations of a new version to create an expected performance metric for the new version. A similarly calculated metric from a previous version may be compared to the metric from a new version to determine an improvement or degradation of performance.

First claim

Opening claim text (preview).

What is claimed is: 1. A method performed by at least one hardware processor, said method comprising: receiving a first behavior model representing a frequency of observation of each of a first plurality of n-grams during execution of a first version of an application in a production environment, each n-gram in the first plurality of n-grams identifying a different sequence of one or more of (i) two or more function sequences observed during execution of the first version of the application in the production environment, or (ii) two or more input sequences input to the first version of the application during execution of the first version of the application in the production environment; generating a first performance metric for the first version of the application based on the first behavior model, including (i) determining a first representative sample of n-grams from the first plurality of n-grams, (ii) determining a first corresponding performance metric for each n-gram in the first representative sample of n-grams, and (iii) summing each first corresponding n-gram performance metric for all of the n-grams in the first representative sample of n-grams to obtain the first performance metric; receiving a second behavior model representing a frequency of observation of each of a second plurality of n-grams during execution of a second version of the application in a testing environment, each n-gram in the second plurality of n-grams identifying a different sequence of one or more of (i) two or more function sequences observed during execution of the second version of the application in the testing environment, or (ii) two or more input sequences input to the second version of the application during execution of the second version of the application in the testing environment; generating a second performance metric for the second version of the application based on the second behavior model, including (i) determining a second representative sample of n-grams from the second plurality of n-grams, (ii) determining a second corresponding performance metric for each n-gram in the second representative sample of n-grams, and (iii) summing each second corresponding n-gram performance metric for all of the n-grams in the second representative sample of n-grams to obtain the second performance metric; and generating a visualization comparing performance of the first version of the application in the production environment with the second version of the application in the testing environment, the visualization including: one or more histograms visualizing the first plurality of n-grams and the second plurality of n-grams; and one or more charts or graphs that present performance metrics for successive versions of the application, the one or more charts or graphs presenting at least the first performance metric and the second performance metric. 2. The method of claim 1 , each representative sample comprising at least 50% of a total number of n-gram observations. 3. The method of claim 1 , each representative sample comprising at least 75% of a total number of n-gram observations. 4. A system comprising: one or more hardware processors; and one or more computer-readable media having stored thereon computer-executable instructions that are executable by the one or more hardware processors to implement a version analyzer that is configured to perform at least the following: receive a first behavior model representing a frequency of observation of each of a first plurality of n-grams during execution of a first version of an application in a production environment, each n-gram in the first plurality of n-grams identifying a different sequence of one or more of (i) two or more function sequences observed during execution of the first version of the application in the production environment, or (ii) two or more input sequences input to the first version of the application during execution of the first version of the application in the production environment; generate a first performance metric for the first version of the application based on the first behavior model, including (i) determining a first representative sample of n-grams from the first plurality of n-grams, determining a first corresponding performance metric for each n-gram in the first representative sample of n-grams, and (ii) summing each first corresponding n-gram performance metric for all of the n-grams in the first representative sample of n-grams to obtain the first performance metric; receive a second behavior model representing a frequency of observation of each of a second plurality of n-grams during execution of a second version of the application in a testing environment, each n-gram in the second plurality of n-grams identifying a different sequence of one or more of (i) two or more function sequences observed during execution of the second version of the application in the testing environment, or (ii) two or more input sequences input to the second version of the application during execution of the second version of the application in the testing environment; generate a second performance metric for the second version of the application based on the second behavior model, including (i) determining a second representative sample of n-grams from the second plurality of n-grams, (ii) determining a second corresponding performance metric for each n-gram in the second representative sample of n-grams, and (iii) summing each second corresponding n-gram performance metric for all of the n-grams in the second representative sample of n-grams to obtain the second performance metric; and generate a visualization comparing performance of the first version of the application in the production environment with the second version of the application in the testing environment, the visualization including: one or more histograms visualizing the first plurality of n-grams and the second plurality of n-grams; and one or more charts or graphs that present performance metrics for successive versions of the application, the one or more charts or graphs presenting at least the first performance metric and the second performance metric. 5. The system of claim 4 , each representative sample comprising at least 50% of a total number of n-gram observations. 6. A computer program product comprising one or more memories having stored thereon computer-executable instructions that are executable one or more processors to perform at least the following: receive a first behavior model representing a frequency of observation of each of a first plurality of n-grams during execution of a first version of an application in a production environment, each n-gram in the first plurality of n-grams identifying a different sequence of one or more of (i) two or more function sequences observed during execution of the first version of the application in the production environment, or (ii) two or more input sequences input to the first version of the application during execution of the first version of the application in the production environment; generate a first performance metric for the first version of the application based on the first behavior model, including (i) determining a first representative sample of n-grams from the first plurality of n-grams, determining a first corresponding performance metric for each n-gram in the first representative sample of n-grams, and (ii) summing each first corresponding n-gram performance metric for all of the n-grams in the first representative sample of n-grams to obtain the first performance metric; receive a second behavior model representing a frequency of observation of each of a second plurality of n-grams during execution of a second version of the application in a testing environment, each n-gram in the second plurality

Assignees

Inventors

Classifications

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 US9594665B2 cover?
Comparisons of different versions of an application may be compared using a behavior model of the application. A behavior model may be derived from n-gram analysis of observations of the application in production. The behavior model may include sequences of inputs received by the application or functions performed by the application, where each sequence is an n-gram observed in tracer data. Eac…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/3616. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 14 2017 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).