Approximating finite domains in symbolic state exploration
First Claim
1. A computer-implemented method of determining a finite domain approximation for a symbolic term in a symbolic state representation of a program, wherein the symbolic term comprises a symbolic sub-term, the method comprising:
- searching an assumption set for a domain approximation associated with the symbolic term; and
if an associated domain approximation is not found in the assumption set, deriving a domain approximation for the symbolic term according to properties of the symbolic term.
3 Assignments
0 Petitions
Accused Products
Abstract
A finite domain approximation for symbolic terms of a symbolic state is derived, given some finite domains for basic terms of the symbolic state. A method is executed recursively for symbolic sub-terms of a symbolic term, providing a domain over-approximation that can then be provided to a solver for determining a more accurate domain. The method can be applied to a wide array of system terms, including, for example, object states, arrays, and runtime types.
271 Citations
20 Claims
-
1. A computer-implemented method of determining a finite domain approximation for a symbolic term in a symbolic state representation of a program, wherein the symbolic term comprises a symbolic sub-term, the method comprising:
-
searching an assumption set for a domain approximation associated with the symbolic term; and
if an associated domain approximation is not found in the assumption set, deriving a domain approximation for the symbolic term according to properties of the symbolic term. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable storage medium containing instructions which can cause a computer to perform a method, the method comprising:
-
passing a symbolic parameter to a function in a symbolic state representation of a program, the parameter comprising a symbolic sub-parameter;
generating a domain of possible solutions for the symbolic parameter; and
performing a symbolic execution of the function using solutions of the domain to generate a set of actual solutions. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A system for testing programs comprising:
-
a digital processor; and
a digital memory comprising, a symbolic term comprising one or more symbolic sub-terms, a domain derivation unit for determining an approximate set of values for the symbolic term, wherein determining an approximate set of values comprises, examining an assumption set for a set of values associated with the symbolic term, and if an associated set of values is not found in the assumption set, deriving a possible set of values of the symbolic term according to properties of the symbolic term. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification