Unlock instant, AI-driven research and patent intelligence for your innovation.

Symbolic execution method, device and system

A technology of symbolic execution and execution strategy, applied in multi-program installation, resource allocation, platform integrity maintenance, etc., can solve problems such as resource exhaustion and path explosion, achieve less memory resources, solve path explosion, and solve resource consumption full effect

Active Publication Date: 2013-04-03
NSFOCUS INFORMATION TECHNOLOGY CO LTD +1
View PDF4 Cites 4 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0015] Embodiments of the present invention provide a symbolic execution method, device, and system to solve the problem of path explosion in existing symbolic execution technologies and the problem of resource exhaustion caused by using a single symbolic executor process

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Symbolic execution method, device and system
  • Symbolic execution method, device and system
  • Symbolic execution method, device and system

Examples

Experimental program
Comparison scheme
Effect test

Embodiment 1

[0045] Such as figure 1 As shown, it is a flow chart of the symbolic execution method in Embodiment 1 of the present invention. The method is applied to a system including a load balancer and at least two controllers, and includes the following steps:

[0046] Step 101: The load balancer sends a first instruction to a selected controller.

[0047] Specifically, at the initial stage, one of the activated controllers receives a first instruction from the load balancer.

[0048] It should be noted that each controller actively establishes a communication channel with the load balancer when starting, and the load balancer marks its state as idle, and in step 101 all controllers do not need to be started at the beginning.

[0049] Step 102: The controller that receives the first indication instruction determines the first path in the program to be tested according to the set execution strategy.

[0050] Specifically, the controller that receives the first instruction can create a...

example 2

[0061]

example 3

[0063] Wherein: Example 2 is a multi-way branch instruction, and Example 3 is a chain of linked two-way branch instructions that equivalently converts the multi-way branch instruction in Example 2, that is, converted into multiple two-way branch instructions.

[0064] Generally, a branch instruction may or may not cause a path fork. In step 103, since there is no need to generate a path seed at a branch instruction that does not cause a path fork, only each branch instruction that eventually causes a path fork does not need to generate a path seed. The corresponding path seeds are generated at the branch instruction of the fork.

[0065] The path seed is a sequential byte stream composed of a set number of elements;

[0066] The element is an orientation representing each branch instruction encountered sequentially in the program path.

[0067] If the symbolic executor process converts the multi-branch instruction into a two-branch instruction, then in step 103, a correspondi...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

The invention discloses a symbolic execution method, device and system. The symbolic execution method is applied to the symbolic execution system comprising a load balancer and at least two controllers. The symbolic execution method mainly comprises the following steps of: executing a certain path in a to-be-tested program by controllers, and meanwhile, decomposing paths related with the path in the to-be-tested program to generate path seeds; sending the generated path seeds to the load balancer; and distributing the path seeds to multiple idle controllers by the load balancer. Through the scheme disclosed by the embodiment of the invention, on one hand, as symbolic execution analysis is performed on the to-be-tested program by adopting a distributed parallel manner, the path explosion problem occurring in generation-based symbolic execution is effectively solved, and on the other hand, as the load balancer only needs to store the path seeds, occupied memory resources are fewer. Moreover, the occupied memory resources are released after the current symbolic execution task is executed by every distributed controller, so that the problem that the resources are exhausted is effectively solved.

Description

technical field [0001] The invention relates to the field of computer software security, in particular to a symbolic execution method, device and system. Background technique [0002] Symbolic execution is a program analysis method that simulates program execution by using symbolic variables instead of specific values ​​in the input (that is, the work of dynamic analysis is completed in the form of static analysis). This method not only has the reliability of dynamic analysis methods (path sensitivity, no false positives), but also has the completeness of static analysis methods (coverage can be guaranteed, theoretically it is possible to achieve no false positives), and it is getting more and more popular in software vulnerability detection. more and more attention. [0003] Symbolic execution is also a formalized and automated software analysis technology. Its core idea is to use symbols to represent the input data of the program, and convert the operation process of the ...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Applications(China)
IPC IPC(8): G06F9/50G06F21/56
Inventor 忽朝俭曲富平左磊赵粮薛一波
Owner NSFOCUS INFORMATION TECHNOLOGY CO LTD