Symbolic execution of object oriented programs with axiomatic summaries
AssigneeMicrosoft Corporation
InventorsNikolai Tillmann, Wolfgang Grieskamp, Wolfram Schulte
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsNikolai Tillmann, Wolfgang Grieskamp, Wolfram Schulte
Estimating the term…
Symbolic execution identifies possible execution paths of a computer program or method, each having certain constraints over the input values. The symbolic execution also records updates of memory locations, e.g. updates of the fields of symbolic objects in the heap of an object oriented program, involving a description of the previous heap, the updated symbolic object, a field identification, and a newly assigned symbolic value. The symbolic execution can also record calls to summarized methods, involving a description of previous calls, an identification of the summarized methods, and its symbolic arguments. The behavior of summarized methods can be expressed by axioms. Axioms describe the relationship between summarized methods under certain conditions. Axioms can be generated from parameterized unit tests. A parameterized unit test is a method with parameters which executes a sequence of calls to methods of an implementation under test; it asserts constraints over the inputs and outputs of the calls. A software testing program receives a parameterized unit test of an implementation under test, and symbolically executes the parameterized unit test. It can re-use axioms generated from other parameterized unit tests, and use them to emulate summarized methods.
A computerized method comprising:
A system for testing programs comprising:
A computer readable medium tangibly embodying computer executable instructions comprising:
One or more computer readable media tangibly embodying computer executable instructions for performing a method comprising:
Dependencies are inferred from the claim text.