Execution of multiple execution paths
First Claim
1. A computer-implemented method, comprising:
- ascertaining that executable code includes multiple execution paths, the multiple execution paths corresponding to one or more browser configuration parameters for different versions of a browser;
causing the executable code to be executed according to the multiple execution paths in a single execution of the executable code, the execution performed within sub-environments that individually correspond to different respective instances of the different versions of the browser; and
analyzing outputs from the execution of the multiple execution paths for one or more of malware, an error in the executable code, or an optimization for the executable code.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for execution of multiple execution paths are described. In one or more embodiments, an execution of a portion of executable code is conditioned upon a particular environment-specific value. For example, the execution of the executable code can cause one type of output if the value of the variable equals a particular value, and can cause a different type of output if the value of the variable equals a different value. Techniques discussed herein can enable the executable code to be executed such that multiple outputs are produced, e.g., by executing the code according to the different values for the variable. In implementations, the multiple outputs can be analyzed for various attributes, such as presence of malware, implementation and coding errors, and so on.
40 Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
ascertaining that executable code includes multiple execution paths, the multiple execution paths corresponding to one or more browser configuration parameters for different versions of a browser; causing the executable code to be executed according to the multiple execution paths in a single execution of the executable code, the execution performed within sub-environments that individually correspond to different respective instances of the different versions of the browser; and analyzing outputs from the execution of the multiple execution paths for one or more of malware, an error in the executable code, or an optimization for the executable code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-implemented method, comprising:
-
representing a variable value in executable code with a symbolic value, the variable value representing a browser configuration parameter within the executable code corresponding to different versions of a browser; executing at least a portion of the executable code within sub-environments individually corresponding to different respective instances of the different versions of the browser and based on the symbolic value, the symbolic value maintaining a conditional aspect of the variable value during said executing; and applying multiple concrete values to the symbolic value in response to an indication of an output for the symbolic value, said applying causing multiple different outputs to be provided within the sub-environments and based on an execution of the conditional aspect with the multiple concrete values. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A system comprising:
-
one or more hardware processors; and one or more computer-readable storage devices storing computer-executable instructions that are executable by the one or more hardware processors, the computer-executable instructions comprising; a module including instructions for performing operations including executing executable code within sub-environments according to two or more alternative execution paths in a single execution of the executable code, the alternative execution paths corresponding to one or more browser configuration parameters for different versions of a browser; and execution policies that specify how the alternative execution paths are to be executed by the module and that specify within the policies the browser configuration parameters that are to be used to execute the alternative execution paths within the sub-environments. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification