ACTIVE PROPERTY CHECKING
First Claim
1. A method, implemented by a computing device, comprising:
- providing software for testing;
during execution of the software, performing a symbolic execution of the software to produce path constraints;
injecting issue constraints into the software wherein each issue constraint comprises a coded formula;
solving the constraints using a constraint solver;
based at least in part on the solving, generating input for testing the software; and
testing the software using the generated input to check for violations of the injected issue constraints.
2 Assignments
0 Petitions
Accused Products
Abstract
An exemplary method includes providing software for testing; during execution of the software, performing a symbolic execution of the software to produce path constraints; injecting issue constraints into the software where each issue constraint comprises a coded formula; solving the constraints using a constraint solver; based at least in part on the solving, generating input for testing the software; and testing the software using the generated input to check for violations of the injected issue constraints. Such a method can actively check properties of the software. Checking can be performed on a path for a given input using a constraint solver where, if the check fails for the given input, the constraint solver can also generate an alternative input for further testing of the software. Various exemplary methods, devices, systems, etc., are disclosed.
-
Citations
20 Claims
-
1. A method, implemented by a computing device, comprising:
-
providing software for testing; during execution of the software, performing a symbolic execution of the software to produce path constraints; injecting issue constraints into the software wherein each issue constraint comprises a coded formula; solving the constraints using a constraint solver; based at least in part on the solving, generating input for testing the software; and testing the software using the generated input to check for violations of the injected issue constraints. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method, implemented by a computing device, comprising:
-
providing software; adding a cast to a type in the software wherein the cast pertains to an issue; executing the software with the added cast for a concrete input; and actively checking for an input that causes the issue. - View Dependent Claims (16, 17, 18)
-
-
19. A system for testing software, the system comprising:
-
one or more processors; memory; and processor executable instructions to injecting constraints into software during symbolic execution of the software wherein each constraints comprises a coded formula, to solve the constraints via using a constraint solver, to generate input for testing the software based on a solution provided by the constraint solver, and to test the software using the generated input to check for violations of the injected constraints.
-
-
20. The system of claim 20 wherein the constraints are associated with one or more issues.
Specification