Bounded program failure analysis and correction
AssigneeMicrosoft Corporation
InventorsNikolai Tillmann, Jonathan Paul de Halleux, Wolfram Schulte
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsNikolai Tillmann, Jonathan Paul de Halleux, Wolfram Schulte
Estimating the term…
In one embodiment, a computer system determines that a previously run test scenario configured to test a software program has failed to produce an expected result due to one or more semantic errors, generates error trace code configured to monitor the called component, processes the test scenario using the error trace code, and analyzes error trace information to determine the point at which the semantic error occurs in the called component. In an alternative embodiment, a computer system detects a semantic error in a software component of a software program, constructs an error condition that may include source code representing a minimum condition under which the error occurs, generates an object invariant based on the error condition that represents an opposite condition to that represented by the error condition, and automatically generates source code change recommendations using the object invariant that prevent the semantic error from reoccurring in subsequent test scenarios.
At a computer system, a method for automatically determining the point at which a semantic error occurs in a software component of a software program using an error trace corresponding to a single component of the software program, the method comprising:
At a computer system, a method for automatically generating source code change recommendations for a software component that prevents one or more detected semantic errors from reoccurring in subsequent test scenarios, the method comprising:
A computer program product for implementing a method for automatically generating source code change recommendations for a software component that prevents one or more detected semantic errors from reoccurring in subsequent test scenarios, the computer program product comprising one or more computer-readable media having thereon computer-executable instructions that, when executed by one or more processors of the computing system, cause the computing system to perform the method, the method comprising:
Dependencies are inferred from the claim text.