Data Race Detection Tool for Interrupt-Driven Embedded System

Yuanjun CHEN,Junjing SHI,Linzhang WANG,Xuandong LI
DOI: https://doi.org/10.3778/j.issn.1673-9418.1411052
2015-01-01
Abstract:Interrupt-driven embedded systems are widely used in very high reliable and stable fields. However, due to the design complexity and the running environment diversity, uncertain interrupt faults often happen, which cause serious consequence. Data race is one of these complex problems. Lots of work has been done to detect such races, but there is still no easy solution. To solve such problems, this paper introduces a static detection method based on control flow graph. Firstly this method detects the shared resources and interrupts in the source code by preprocessing, and then constructs the corresponding simple control flow graphs according to the preprocessing result. Secondly the method points out the potential data races and their execution paths by analyzing the preemption relationship on these control flow graphs. The experimental results show that this method can not only detect the data race problems in the code, but also trace and show their execution paths, which is quite helpful for the bug verification and fix.
What problem does this paper attempt to address?