Dynamic symbol executing method for relieving path explosion

A technology of dynamic symbol execution and path explosion, applied in software testing/debugging, etc., can solve the problems of increasing the number of code block detection, variable input impact, and inability to cover code blocks, etc., to achieve the effect of ensuring accuracy and low overhead

Active Publication Date: 2014-07-23
UNIV OF ELECTRONICS SCI & TECH OF CHINA +1
View PDF4 Cites 0 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

However, the "number of iterations per loop" may vary in size depending on the input, and may be one or infinite
However, dynamic symbolic execution only needs to cover all the codes, so the path constraints only need to include each branch node on the path. During the execution of the program under test, multiple symbolic executions of the same piece of code will only Greatly increase the length of path constraints, thereby increasing the number of code block detections, but cannot cover new code blocks

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
  • Dynamic symbol executing method for relieving path explosion
  • Dynamic symbol executing method for relieving path explosion
  • Dynamic symbol executing method for relieving path explosion

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0066] This implementation case describes a way to realize the present invention in detail, but the scope of protection of the present invention is not limited to this way, and all implementations that adopt the idea of ​​the present invention are within the scope of protection of the present invention.

[0067] Control flow graph generation and simplification module

[0068] The function of the device is to use the data structure to abstract the control flow graph of the program under test and simplify it into a decision graph. The output is a decision graph data structure held in memory. The following briefly introduces the abstraction and simplification process. The abstraction process can be performed using IDA pro, a commercial static debugging software that can generate a control flow graph of an executable program. The control flow graph of a program can be represented by a 4-tuple G =( N , E , entry , exit ) indicates that N is a collection of nodes in the co...

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 belongs to the field of computer software safety testing and provides a dynamic symbol execution method for alleviating path explosion. It aims to provide a method to solve the path explosion problem. This method can eliminate the redundant constraints generated by loops in the program execution process through a mapping and acquisition process of the constraints generated by symbolic execution on the static decision graph of the program. , thereby eliminating the path explosion problem caused by loops in dynamic symbolic execution. The invention is applied to software testing.

Description

technical field [0001] The invention belongs to the field of computer software safety testing and provides a dynamic symbol execution method for alleviating path explosion. Background technique [0002] Software testing is the most common technique for verifying software quality. The demand for high-quality software products makes software testing play an increasingly important role in the software development cycle. The dynamic software testing developed in recent years has avoided the disadvantages of static software testing, such as high labor cost, low efficiency, and high false alarm rate, and has become the main method of software testing. Dynamic symbolic execution is one of the important technologies of dynamic software testing, which is used in many current mainstream dynamic software testing tools by automatically generating test cases to obtain high code coverage. For example, NASA's PathFinder, Stanford University's KLEE, Berkeley University's CREST, Microsof...

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 Patents(China)
IPC IPC(8): G06F11/36
Inventor 张小松陈厅郭世泽吉小丽朱聪侯浩俊
Owner UNIV OF ELECTRONICS SCI & TECH OF CHINA
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products