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

System for detecting interrupt-driven type program data competition

A technology of program data and data competition, applied in the direction of multi-channel program devices, etc., can solve the problems of easy change of program execution state by the outside world, omission of data competition, lack of pertinence, etc., to improve accuracy, detection efficiency, and degree of automation. High, avoid the effect of repeated analysis

Active Publication Date: 2011-05-18
BEIJING INST OF CONTROL ENG
View PDF4 Cites 21 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0005] (2) The interrupt-driven program is a typical embedded software, which interacts frequently with hardware and has a special operating environment. The execution state of the program is easily changed by the outside world. Therefore, it is different from traditional programs in terms of data flow analysis and other aspects.
[0006] On the other hand, due to the lack of corresponding automatic analysis tools, developers of interrupt-driven programs generally try to find data races through traditional software testing methods, that is, the way to design test cases, execute test cases, and view the running status.
This method is not very targeted, and can only rely on repeatedly executing the software and observing the running results to check whether there is a data race. Moreover, even if a problem is found in a certain test, it is difficult to reproduce; because the test cannot exhaustively In the execution state of the program, many potential data races are also missed, causing hidden dangers; in addition, the operation of embedded software depends on external devices and environments, and it is impossible to implement testing activities in the early stages of software development, resulting in data races that often only occur in the later stages. stage is discovered, at which point the cost of defect fixes is enormous

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
  • System for detecting interrupt-driven type program data competition
  • System for detecting interrupt-driven type program data competition
  • System for detecting interrupt-driven type program data competition

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0035] Such as figure 1 As shown, a system for detecting data races in interrupt-driven programs consists of a front-end processor and a data race analysis engine; the front-end processor includes: a disassembler, a lexical / syntax analyzer, a control flow graph structure device, function call relation graph constructor; the data competition analysis engine includes: interrupt priority analysis module, interrupt status analysis module, memory access analysis module and race condition recognizer

[0036] Disassembler: used to disassemble the target program under test and output assembly code;

[0037]Lexical / Syntactic Analyzer: Perform lexical analysis and syntax analysis on the source code or assembly code of the program under test, and output the abstract syntax tree and symbol table; Compile to get the corresponding assembly code, which is used as the input code for the next analysis; if the source program is given by the user, the source program is used as the input code; ...

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 system for detecting interrupt-driven type program data competition, which comprises a front-end processor and a data race analysis engine, wherein the front-end processor comprises a disassembler, a morphology / syntax analyzer, a control flow graph constructor and a function call relation graph constructor, and the data race analysis engine comprises an interrupt priority analysis module, an interrupt state analysis module, a memory access analysis module and a race condition identifier. A static detection method is adopted in the invention, wherein a source code or assembly code is input; the detected program does not need to run; the method can be applied in the early stage of software development; the automaticity is high; and the interrupt enabled state is analyzed in iterative inter-process manner; through 'iteration', all the possible interrupt switching conditions can be extremely collected and the failed report of data race detection is reduced; and through 'inter-process', the function call and the influence of the interruption on the program state are regarded and the detection accuracy and the detection efficiency are increased.

Description

technical field [0001] The invention relates to a system for detecting data competition, in particular to a system for detecting interrupt-driven program data competition, which belongs to computer software testing and verification technology. Background technique [0002] Data race is a complex program behavior in concurrent programs, which occurs when multiple concurrent execution streams (such as threads, tasks, interrupts) simultaneously read and write the same data unit, and at least one of the operations is a write operation. Because the order between two accesses involved in data races is not determinable, the program may produce abnormal behaviors, and even lead to software or system failure in severe cases. However, data races are characterized by low probability, and often only occur under specific external environment and execution flow switching conditions, and are difficult to reproduce, and it is very difficult to debug and test them. Therefore, automatic dete...

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): G06F9/46
Inventor 陈睿郭向英段永顥张西超侯成杰董燕于志杰魏鹏吴瑾武占峰张金巍曾霞左万娟
Owner BEIJING INST OF CONTROL ENG
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