Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Crossed dynamic software testing method and device

A software testing and dynamic method technology, applied in software testing/debugging and other directions, can solve the problems of path explosion, dynamic symbolic execution cannot be practically applied to mainstream large-scale software testing, etc., and achieves mitigation of path explosion, good test performance, and low random test overhead. Effect

Inactive Publication Date: 2012-06-20
UNIV OF ELECTRONIC SCI & TECH OF CHINA +1
View PDF3 Cites 25 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0020] Affected by several factors such as the increase of the application program, the call to the local library function, and the uncertainty of the number of cycles, the path explosion problem caused by the dynamic symbol execution cannot be practically applied to the testing of mainstream large-scale software, such as Firefox, OpenOffice, MYSQL, etc.

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
  • Crossed dynamic software testing method and device
  • Crossed dynamic software testing method and device
  • Crossed dynamic software testing method and device

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0045] The present invention will be further described below in conjunction with the accompanying drawings and specific embodiments.

[0046] The simulation diagram performed by the cross dynamic symbol method is as follows image 3 As shown, through the simulation diagram of the three technologies ( figure 1 , figure 2 , image 3 ) comparison can also see the advantages of hybrid symbolic execution. image 3 The typical interleaved dynamic symbolic execution uses random tests to quickly penetrate into the program (shown by broken lines), and uses dynamic symbolic execution to cover adjacent code blocks (shown by concentric circles), and figure 1 , figure 2 Compared with , significantly more code blocks can be covered (shown by black squares).

[0047] The following is a brief description and comparison of the above three technologies through Example 2 (hybrid dynamic symbol test algorithm):

[0048] 1. void testme() {

[0049] 2. char * s, c;

[0050] 3. int state = ...

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 crossed dynamic software testing method and a crossed dynamic software testing device. The crossed dynamic software testing method comprises the following steps: 1, executing a random detection on a tested application by a dynamic random testing method and detecting application bugs; if an abnormal application is detected, recording abnormal information and exiting the test; otherwise, after completion of the current test, computing a code coverage and detecting whether the code coverage is saturated; if the code coverage is saturated, invoking a symbol switching function and switching into dynamic symbolic execution to hold on a parent process; otherwise, continuing to execute the next test till the code coverage is detected to be saturated; and 2, searching a new uncovered code block by a dynamic symbolic execution method; if a new code block is detected, restoring the state to a random executing state in the step 1; and if all basic blocks are covered, exiting the test. By the crossed dynamic software testing method, relatively large applications can be tested in an all-around way, so that a relatively high code coverage can be obtained and the explosion problem of a dynamic symbolic execution route can be relieved.

Description

technical field [0001] The invention relates to a software testing method, in particular to a software dynamic testing method. Background technique [0002] Software testing is mainly used for software correctness analysis and software vulnerability detection, and can be divided into static testing methods and dynamic testing methods. Static testing refers to analyzing the static characteristics of the program manually or with the help of professional software without running the program under test, and checking the correctness of the program by analyzing or checking the syntax, structure, process, interface, etc. of the source program. Dynamic testing refers to actually running the program under test, providing corresponding test data, and testing the software by checking the dynamic behavior of the software or judging the correctness of the running results. The dynamic testing method avoids the shortcomings of the static testing method, such as high labor cost, low effici...

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
IPC IPC(8): G06F11/36
Inventor 陈厅张小松吉小丽朱聪王玉超
Owner UNIV OF ELECTRONIC SCI & TECH OF CHINA
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products