Concurrent-program test method based on lock-object splitting strategy and test system thereof

A technology of program testing and objects, applied in the field of concurrent program testing method and its testing system based on lock object splitting strategy, can solve the problems of ineffective detection of data competition, atomic violation of deadlock, insufficient and ineffective test case set Detect problems such as concurrent program errors to achieve the effect of improving capabilities

Inactive Publication Date: 2017-11-24
SOUTHEAST UNIV
View PDF5 Cites 8 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0006] Although there are many advantages such as being able to dynamically capture program behavior, generating a relatively complete concurrent program synchronization sequence set, and not needing to record any synchronization sequence history records, reachability testing still faces the problem that the generated test case set is not sufficient and cannot effectively detect shared variables. Problems such as concurrent program errors caused by improper protection
For example, in the process of reachabi

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
  • Concurrent-program test method based on lock-object splitting strategy and test system thereof

Examples

Experimental program
Comparison scheme
Effect test

Embodiment 1

[0033] The present invention detects the concurrent program error caused by using the wrong lock object to protect the shared variable by splitting the shared variable abnormal access code and executing the interweaving sequence between the fine-grained synchronization events on the different lock objects in the original concurrent program to be tested. The following Take a Java concurrent program CP as an example to illustrate its specific implementation steps:

[0034] 1. Analysis of abnormal access to shared variables

[0035] (1) Construction program control flow chart (CFG)

[0036] Use the Java program static analysis framework (such as Soot) [4] to obtain the basic control flow and data flow information of the concurrent program CP through the UnitGraph class, and construct the run() method in each thread and the program control flow of directly or indirectly calling subprograms Figure (CFG).

[0037] (2) Shared variable analysis

[0038] Through the static thread escape analys...

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 concurrent-program test method based on the lock-object splitting strategy and a test system thereof. The concurrent-program test method includes the steps that relevant codes are analyzed with the static program analysis technology, and shared variables protected without same lock objects are determined; then abnormal access codes of the shared variables are split, the split codes are protected through the same lock objects, and the fine-grained synchronization method is generated; reachability testing (all feasible synchronization sequences are operated) is carried out, interleaved sequences between fine-grained synchronization events on different monitor objects in a raw to-be-test concurrent program are generated and carried out, and as the shared variables are protected through false lock objects, concurrent program errors such as data hazards, atomic against and deadlocking are shown. By means of the concurrent-program test method based on the lock-object splitting strategy and the test system thereof, the capacity of detecting the concurrent program errors can be effectively improved.

Description

Technical field [0001] The invention relates to software analysis and testing technology in software engineering, and specifically relates to a concurrent program testing method based on a lock object split strategy and a testing system thereof. Background technique [0002] The popularity of multi-core technology and the support of high-level programming languages ​​for concurrent facilities have made the development and use of concurrent software increasingly widespread. Concurrent software testing is an important means to ensure the quality of concurrent software. Due to the existence of concurrency and competition, under the same input, different concurrent program operations may produce different results due to the selection of different synchronization sequences. The uncertainty of concurrent program operation makes it very difficult to test, debug and repair concurrent program errors. Concurrent program errors mainly include data competition, atomic violations, deadlocks...

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/36G06F9/45
Inventor 戚晓芳颉佳宇
Owner SOUTHEAST UNIV
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