A Data Race Detection and Replay Method Based on Symbolic Execution Virtual Machine

A symbolic execution and data competition technology, applied in the field of software debugging, can solve the problems of low detection efficiency, poor scalability, and high overhead, and achieve high detection efficiency, improved detection efficiency, and low detection overhead

CN106294169BInactive Publication Date: 2018-08-03HUAZHONG UNIV OF SCI & TECH
8 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Publication Date
2018-08-03
Estimated Expiration
Not applicable · inactive patent

Smart Images

  • Figure 1
    Figure 1
  • Figure 2
    Figure 2
  • Figure 3
    Figure 3
Patent Text Reader

Abstract

The invention discloses a data race detection and replay method by parallel programs in an embedded environment. The method comprises the following steps: combining the requirements of software debugging and testing, adopting a symbolic execution virtual machine scheme, dynamically monitoring operation of the programs, collecting execution information of the programs, and analyzing the data race. Moreover, the programs can also be subjected to deterministic replay through the execution information, so that the execution traces of the programs can be reproduced. The method has the functions of data race detection based on a symbolic execution virtual machine and the data race replay based on the symbolic execution virtual machine. According to the method, data race hidden in the programs can be excavated, and errors of the multithreaded programs in operation can be prevented.
Need to check novelty before this filing date? Find Prior Art

Description

technical field

[0001] The invention belongs to the technical field of software debugging, and more specifically relates to a data competition detection and playback method based on a symbolic execution virtual machine. Background technique

[0002] With the increasing scale of software, software testing and program error detection become more and more important. Existing software testing and error detection methods can be divided into static methods and dynamic methods. The static method does not actually run the program. By analyzing the call graph, data flow graph, control flow graph, execution analysis and other information in the program source code, it compares these information with the established error model to detect the error code fragments that the program may contain. The dynamic method runs the program, analyzes the running track of the program, and detects the errors in the program.

[0003] At present, the mainstream dynamic detection methods at home and ab...

Examples

Embodiment Construction

[0049] In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention, not to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not constitute a conflict with each other.

[0050] Such as figure 1 As shown, the overall framework based on the data race detection and replay method based on the symbolic execution virtual machine of the present invention is composed of a host machine end and a target machine end. The host machine runs a graphical interface, sends relevant commands for data competition detection to the target machine through the network port, and proce...