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

Noise injection optimization method for concurrent program test

A technology of noise injection and program testing, which is applied in software testing/debugging, genetic rules, error detection/correction, etc. It can solve problems such as unrepeatable concurrent program testing, difficulty in finding concurrent errors, and high analysis costs, so as to save testing cost, improve test efficiency, and fast convergence

Active Publication Date: 2020-08-21
XIAN UNIV OF POSTS & TELECOMM
View PDF9 Cites 2 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

At the same time only a few of these interleaves actually throw concurrency errors, so the likelihood of exhaustive interleaving testing concurrent programs throwing concurrency errors is very low
Bugs like data races and deadlocks are hard to find, expensive to analyze, and error escapes are common
The scheduling policy of a concurrent scheduler, such as the JVM, is usually deterministic, executing the same test multiple times will create the same set of interleaves, making it hard to spot new concurrency bugs
Detecting concurrency bugs is usually time consuming and run under different environmental conditions, therefore, concurrent program testing is mostly not repeatable

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
  • Noise injection optimization method for concurrent program test
  • Noise injection optimization method for concurrent program test
  • Noise injection optimization method for concurrent program test

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0024] Taking the optimization of the noise injection scheme of the classic benchmark program "Airlines" as an example, combined with the attached figure 1 A specific implementation of a method for optimizing a noise injection scheme proposed by the present invention will be described.

[0025] Step 1: Coding; use L={1,2,...,i,...,3054} to represent the 3054 program location sets of the program to be tested, where i∈L, 1≤i≤3054, use Inject∈ {0,1,2,3} indicates whether noise is injected into a certain program position and the type of noise injected. When Inject=0, no noise statement is injected at this program position. When Inject=1, noise statement sleep() is injected at this program position. , Inject noise statement wait () at this program position when Inject=2, inject noise statement yield () at this program position during Inject=3;

[0026] Step 2: Construct fitness; for each noise injection scheme, perform noise injection on the program under test according to the noi...

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 noise injection optimization method for Concurrent program test to solve the problem of noise injection optimization in concurrent program test, and belongs to the field of concurrent program test. The method comprises the steps that firstly, encoding concurrent program test noise injection scheme individuals, randomly generating an initial population wherein the number of concurrent errors occurring during program running serves as a fitness function; then, generating a new generation of population through variation, crossover and selection operation, evaluating individuals by using a fitness function, and recording a maximum fitness value in iteration and the corresponding individuals; and finally, when the number of iterations reaches the maximum number of iterations, wherein the individual corresponding to the maximum adaptive value is the optimal noise injection scheme. The noise injection optimization method is high in convergence rate and good in stability, program errors can be found as soon as possible in the concurrent program test process, and the test cost is reduced.

Description

technical field [0001] The invention belongs to the technical field of software testing, in particular to the field of concurrent program testing based on noise injection, and specifically relates to a noise injection scheme optimization method for concurrent programs. Background technique [0002] With the continuous popularization and development of computers, computer technology has gradually become one of the core technologies in the development of modern society, and plays an important role in promoting social progress and improving the national economy. In today's multi-core era, software must move to concurrent mode in order to run faster. The introduction of multi-core processors into ordinary computers has accelerated the wide application of concurrent programs. The Internet and server-side concurrent programming are becoming more and more popular. Concurrent program testing and analysis has become a hot spot in concurrent program research. [0003] Due to the unce...

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/36G06N3/12
CPCG06F11/3668G06N3/126
Inventor 孙家泽王曙燕王丹
Owner XIAN UNIV OF POSTS & TELECOMM