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 prompting a second user to examine the forward data flow, said at least one backward data flow and the candidate fault list and receiving a first input from the 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; 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; 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; 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 said 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.