1. Rchecker: A CBMC-based Data Race Detector for Interrupt-driven Programs
- Author
-
Xudong Zhao, Liangze Yin, Wenfeng Lin, Wei Dong, and Haining Feng
- Subjects
Interleaving ,Semantics (computer science) ,Computer science ,business.industry ,Stability (learning theory) ,Preemption ,020207 software engineering ,Usability ,02 engineering and technology ,Static analysis ,020202 computer hardware & architecture ,Reliability engineering ,Synchronization (computer science) ,0202 electrical engineering, electronic engineering, information engineering ,Interrupt ,business - Abstract
Interrupt-driven programs are widely used in aerospace, medical equipment, and other embedded systems that require extreme safety and stability. However, uncertain interrupt interleaving executions may cause serious data race problems. Static analysis is an important technology to detect data race problems. Existing methods are either too conservative to have low accuracy, or bring lots of false alarms, there still need a more effective solution. The program verification tool CBMC has an excellent performance in the analysis and verification of C multi-threaded modeling, but it doesn't support interrupt-driven programs. In this paper, we proposed a method based on CBMC to detect data race in interrupt-driven programs. Our method achieved accurate analysis of interrupt-driven programs by performing analysis toward interrupt preemption and synchronization semantics, and further validation of the program can be supported. Experiments results on related benchmarks demonstrate our approach's usability and effectiveness.
- Published
- 2020
- Full Text
- View/download PDF