Distributed automatic test case generation method based on dynamic symbolic execution

A dynamic symbolic execution and automatic testing technology, which is applied in software testing/debugging, etc., can solve problems such as inability to generate path coverage, different optimal solvers, and inability to perform simultaneous operations, etc., to achieve full branch coverage, shorten test time, The effect of fast branch coverage

Active Publication Date: 2015-12-02
UNIV OF ELECTRONICS SCI & TECH OF CHINA
View PDF5 Cites 16 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

There are many deficiencies in traditional symbolic execution: First, because symbolic values ​​are used instead of real values ​​to execute programs, when binary codes or library functions without source codes are encountered, precise constraints cannot be obtained, which will result in inaccurate results. This leads to false positives; the second is that when dealing with large-scale or more complex programs, due to the high computational complexity, it is impossible to generate a test case set with high path coverage
In this way, when the SMT solver in the test case automatic generation tool calculates the satisfiable solution, the program under test has to wait for the calculation result of the SMT solver, and when the program is running, the SMT solver also waits for the execution result of the program under test, and the two cannot be performed at the same time
In addition, the current SMT solvers supported by each tool are very limited, and the SMT solvers and test case automatic generation tools need to be tightly coupled. Different SMT solvers are good at solving different types of constraints, and the optimal solvers for different types of constraints Also different, the tightly coupled approach is not conducive to the expansion of SMT solvers

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
  • Distributed automatic test case generation method based on dynamic symbolic execution
  • Distributed automatic test case generation method based on dynamic symbolic execution
  • Distributed automatic test case generation method based on dynamic symbolic execution

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0016] This implementation mode takes the following tested program test.c as an example:

[0017]

[0018] The test.c code includes two variables a and b, and they are all variables that affect the program execution process, that is, they are all parameters to determine the path. There are two branches in the program if (a>1) and if (a+2* b==4), there are 3 program execution paths, and the corresponding path constraints and test cases are shown in Table 1:

[0019] Table 1:

[0020]

[0021] Step 1 is the test equipment configuration: the preprocessor uses a personal computer, and the operating system is ubuntu-12.04-desktop-amd64; the tested program running device uses a pandaboard development board with a network communication interface, and the operating system is ubuntu-12.04-preinstalled- destop-arnhf+omap4; the test case automatic generation device uses a DellInc.PowerEdgeT620 server, and the operating system is ubuntu-12.04.5-alternate-amd64. The preprocessor tr...

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 a distributed automatic test case generation method based on dynamic symbolic execution in the technical field of software test case automatic generation. The method comprises the following steps of: configuration of a test device, pre-processing of a program under test, extraction of a path constraint condition, and automatic generation of the test case. According to the invention, the program under test is separated from a test case automatic generation tool, and the program under test can run on a real platform in test, thus, the collected path constraint condition follows own semantics of the program, is accurate, and is helpful for analyzing complex data structures, thereby improving reliability and validity of test; moreover, multiple programs under test can be tested at the same time, and multiple parallel multi-path selection methods are provided. Therefore, the distributed automatic test case generation method based on dynamic symbolic execution has the characteristics of running the program under test on the real platform, having high reliability, being capable of performing multiple tests at the same time, effectively improving test reliability, test accuracy and test efficiency, having high utilization rate of test tools, and so on.

Description

technical field [0001] The invention belongs to the technical field of automatic generation of software test cases. The method takes path coverage as the target to generate a test case set, and each test case triggers a different execution path of the program under test, thereby realizing the ability to generate a test program with high efficiency within a limited time. A set of test cases for path coverage. Background technique [0002] An execution process of the program corresponds to an execution path of the program, and the input parameters of the program determine the execution path of the program, and a set of input parameter values ​​is called a test case. Test case generation is an important link in the software testing process. Automatic test case generation can effectively reduce the labor intensity of testers, reduce software development costs, and improve test efficiency. Symbolic execution is a typical test case automatic generation technology, which is mainly...

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): 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