Automatic correction of application based on runtime behavior

US9280406B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9280406-B2
Application numberUS-201313848104-A
CountryUS
Kind codeB2
Filing dateMar 21, 2013
Priority dateOct 5, 2009
Publication dateMar 8, 2016
Grant dateMar 8, 2016

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.

A method and associated system for automatically correcting an application based on runtime behavior of the application. An incident indicates a performance of the application in which a problem object produces an outcome that had not been expected by a user or by a ticketing tool. An incident flow for the problem object is automatically analyzed. Actual run of the application renders a forward data flow and at least one backward data flow is simulated from an expected outcome of the problem object. The forward data flow and the backward data flow(s) are compared to create a candidate fault list for the problem object. A technical specification to correct the candidate fault list and a solution to replace the application are subsequently devised.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for automatically correcting an application based on runtime behavior of the application, said method comprising: receiving, by a processor of a computer system, incident details of an incident of the application from a first user or a ticketing tool, wherein the incident is an erroneous run of the application in which an incorrect data value of a first problem object of at least one problem object was determined such that the incorrect data value had not been expected by the first user and differs from a correct data value of the first problem object that had been expected by the first user; said processor receiving an initial input value for a first assignment object; after said receiving the initial input value for the first assignment object, said processor identifying and storing from the incident details an incident flow comprising the first problem object, at least one assignment object that affects the first problem object within the application, and a set of code statements of the application in which the at least one assignment object affects the first problem object, said at least one assignment object comprising the first assignment object; said processor creating and storing a forward data flow of the incident flow by tracking data values of the incident flow of at least one code statement that had been actually performed from the beginning of the application up to the incident with respect to the first problem object; said processor creating and storing at least one backward data flow of the incident flow by simulating the data values of the incident flow, in an order reverse to actual performance of the application, from the correct data value of the first problem object to the initial input value for the first assignment object; said processor generating and storing a candidate fault list of the first problem object of the incident by use of the forward data flow and the at least one backward data flow; said processor receiving a first input from a second user, wherein the first input indicates that the second user approves the generated candidate fault list based on the forward data flow and said at least one backward data flow, and wherein the second user is authorized to update the application; and responsive to receiving the first input from the second user, said processor generating a technical specification that corrects the incident of the application by use of the candidate fault list and a specification of the application. 2. The method of claim 1 , said generating the technical specification comprising: retrieving at least one candidate fault list including the candidate fault list of the first problem object and retrieving the specification of the application; identifying an origin of the incident from the at least one candidate fault list; devising a replacement for the origin, wherein the replacement is selected from the group consisting of a new data object, a new code statement, and a combination thereof; and adding the origin and the replacement in the technical specification for the incident. 3. The method of claim 1 , said method further comprising: said processor generating a solution according to the technical specification and generating a resolution that describes the solution for the first user or the ticketing tool; said processor presenting to the second user the solution and receiving a second input from the second user, wherein the second input indicates that the second user approves the solution; and responsive to receiving the second input from the second user, said processor updating the application with the solution such that the application runs free of the incident and communicating the resolution to the first user or the ticketing tool. 4. The method of claim 1 , said creating said at least one backward data flow comprising: assigning the correct data value of the first problem object to the first problem object in a last code statement of said at least one code statement in the incident flow; recalculating said at least one assignment object from the correct data value of the first problem object; determining that said first assignment object has the initial input value; and generating a first backward data flow of said at least one backward data flow for the first problem object. 5. The method of claim 4 , said generating the candidate fault list comprising: identifying a first code statement of the at least one code statement as a first candidate fault; simulating a new data flow by applying a different set of input values for said at least one assignment object; determining that respective values of the new data flow and the first backward data flow are identical; and adding the first candidate fault in the candidate fault list of the first problem object. 6. A computer program product comprising: a computer readable memory having a computer readable program code stored therein, said computer readable program code containing instructions that upon being executed by a processor of a computer system implements a method for automatically correcting an application based on runtime behavior of the application, said method comprising: said processor receiving incident details of an incident of the application from a first user or a ticketing tool, wherein the incident is an erroneous run of the application in which an incorrect data value of a first problem object of at least one problem object was determined such that the incorrect data value had not been expected by the first user and differs from a correct data value of the first problem object that had been expected by the first user; said processor receiving an initial input value for a first assignment object; after said receiving the initial input value for the first assignment object, said processor identifying and storing from the incident details an incident flow comprising the first problem object, at least one assignment object that affects the first problem object within the application, and a set of code statements of the application in which the at least one assignment object affects the first problem object, said at least one assignment object comprising the first assignment object; said processor creating and storing a forward data flow of the incident flow by tracking data values of the incident flow of at least one code statement that had been actually performed from the beginning of the application up to the incident with respect to the first problem object; said processor creating and storing at least one backward data flow of the incident flow by simulating the data values of the incident flow, in an order reverse to actual performance of the application, from the correct data value of the first problem object to the initial input value for the first assignment object; said processor generating and storing a candidate fault list of the first problem object of the incident by use of the forward data flow and the at least one backward data flow; said processor receiving a first input from a second user, wherein the first input indicates that the second user approves the generated candidate fault list based on the forward data flow and said at least one backward data flow, and wherein the second user is authorized to update the application; and responsive to receiving the first input from the second user, said processor generating a technical specification that corrects the incident of the application by use of the candidate fault list and a specification of the application. 7. The computer program product of claim 6 , said generating the technical specification comprising: retrieving at least one candidate fault list including the candidate fault list of the first problem object and retrieving

Assignees

Inventors

Classifications

  • the processing taking place on a specific hardware platform or in a specific software environment · CPC title

  • for test execution, e.g. scheduling of test suites · CPC title

  • Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40) · CPC title

  • Administration; Management · CPC title

  • Software maintenance or management · 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 US9280406B2 cover?
A method and associated system for automatically correcting an application based on runtime behavior of the application. An incident indicates a performance of the application in which a problem object produces an outcome that had not been expected by a user or by a ticketing tool. An incident flow for the problem object is automatically analyzed. Actual run of the application renders a forward…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/0706. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 08 2016 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).