Prioritizing resiliency tests of microservices

US10102111B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10102111-B2
Application numberUS-201615229936-A
CountryUS
Kind codeB2
Filing dateAug 5, 2016
Priority dateAug 5, 2016
Publication dateOct 16, 2018
Grant dateOct 16, 2018

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.

Techniques are provided for automated resiliency testing. In one example, a computer-implemented method comprises analyzing, by a system operatively coupled to a processor, an annotated state transition graph of a user interface of a microservices-based application, wherein the annotated state transition graph has edges annotated with application program interface call subgraphs. The computer-implemented method also comprises generating, by the system, an ordered list of the application program interface call subgraphs based on the analyzing.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a memory that stores computer executable components; and a processor that executes the computer executable components stored in the memory, wherein the computer executable components comprise: a prioritization component that: determines respective failure impact values of application program interface call subgraphs associated with a user interface of a microservices-based application based on a failure impact function employed on an annotated state transition graph, wherein the failure impact function comprises: for respective edges of the state transition graph: a determination of a set of nodes of the annotated state transition graph reachable from an edge, for respective nodes of the set of nodes, a determination of a count of user interface events, able to be triggered from a user interface state represented by a node, that fail to be able to be triggered from other user interface states represented by other nodes along a path from the edge to the node, and a determination of a failure impact value for the edge based on summing of counts for the nodes of the set of nodes; and generates an ordered list of the application program interface call subgraphs, wherein the application program interface call subgraphs are ordered based on the respective failure impact values; and a test execution component that iteratively performs in the order of the ordered list for respective application program interface call subgraphs of a subset of application program interface call subgraphs: based on at least one resiliency test pattern, generation of at least one failure scenario for an application program interface call subgraph of the subset of application program interface call subgraphs; and test of the application program interface call subgraph for the at least one resiliency pattern using the at least one failure scenario. 2. The system of claim 1 , wherein the annotated state transition graph comprises nodes respectively representing abstract user interface states of the user interface and edges respectively representing transitions between the abstract user interface states resulting from user interface events triggered from the user interface states. 3. The system of claim 1 , further comprising: a user interface crawling component that traverses the user interface based on a state transition graph and triggers the user interface events from the user interface states; and a state transition graph component that: determines the application program interface subgraphs based on an analysis of one or more logs generated based on the traversing the user interface; and annotates respective edges of the state transition graph with application program interface call subgraphs associated with user interface events that resulted in the transitions associated with the edges to generate the annotated state transition graph. 4. The system of claim 1 , wherein the prioritization component orders the application program interface call subgraphs in descending order of the respective failure impact values. 5. The system of claim 1 , wherein the test execution component tests nodes of the application program interface call subgraph according to a systematic resilience testing process that reduces redundant resiliency testing of application program interfaces of the application program interface call subgraph. 6. The system of claim 1 , wherein the test execution component determines the subset of application program interface call subgraphs based on an amount of time available prior to deployment of the microservices-based application in a live environment. 7. The system of claim 6 , wherein the test execution component transmits a recommendation to at least on recipient indicating whether to deploy the microservices-based application in the live environment, and wherein the recommendation is determined based on an analysis of results of the tests of the subset of application program interface call subgraphs for the at least one resiliency pattern. 8. A computer-implemented method, comprising: analyzing, by a system operatively coupled to a processor, an annotated state transition graph of a user interface of a microservices-based application, wherein nodes of the annotated state transition graph respectively represent abstract user interface states of the user interface and edges of the annotated state transition graph respectively represent transitions between the abstract user interface states, and the edges are annotated with application program interface call subgraphs associated with the user interface, wherein nodes of the application program interface call graph respectively represent application program interfaces of the microservices-based application and edges of the application program interface call graph respectively represent calling relationships between the application program interfaces; generating, by the system, an ordered list of the application program interface call subgraphs based on the analyzing; and executing, by the system, within a defined amount of time prior to deploying the microservices-based application in a live environment, resiliency testing on a subset of the ordered list comprising a determined highest ordered amount of application program interface call subgraphs for which the resiliency testing can be completed in the defined amount of time. 9. The computer-implemented method of claim 8 , wherein the analyzing further comprises traversing, by the system, a state transition graph of the user interface of the microservices-based application. 10. The computer-implemented method of claim 9 , wherein the analyzing further comprises merging, by the system, a user interface event log and one or more server-side request logs generated during the traversing into an aggregated log. 11. The computer-implemented method of claim 10 , wherein the analyzing further comprises: identifying, by the system, in the aggregated log, respective user interface events that trigger the application program interface call subgraphs; and annotating, by the system, edges of the state transition graph corresponding to the user interface events with the triggered associated application program interface call subgraphs to generate the annotated state transition graph. 12. The computer-implemented method of claim 11 , wherein the analyzing further comprises assigning, by the system, respective failure impact values to the annotated edges based on one or more failure impact criterion. 13. The computer-implemented method of claim 12 , wherein the generating the ordered list of the application program interface call subgraphs is based on the failure impact values and one or more ordering criterion. 14. The computer-implemented method of claim 12 , wherein the generating the ordered list of the application program interface call subgraphs further comprises merging, by the system, one or more adjacent application program interface call subgraphs in the ordered list based on one or more merging criterion. 15. A computer program product for prioritizing application program interface call subgraphs associated with a user interface of a microservices-based application for resiliency testing, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processing component to cause the processing component to: analyzing an annotated state transition graph of the user interface of the microservices-based application, wherein nodes of the annotated state transition graph re

Assignees

Inventors

Classifications

  • Test management · CPC title

  • Performance evaluation by tracing or monitoring · CPC title

  • where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50) · CPC title

  • Visualisation of programs or trace data · CPC title

  • Monitoring of software · 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 US10102111B2 cover?
Techniques are provided for automated resiliency testing. In one example, a computer-implemented method comprises analyzing, by a system operatively coupled to a processor, an annotated state transition graph of a user interface of a microservices-based application, wherein the annotated state transition graph has edges annotated with application program interface call subgraphs. The computer-i…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/3672. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 16 2018 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).