What are race conditions?: Some issues and formalizations
ACM Letters on Programming Languages and Systems (LOPLAS)
System architecture directions for networked sensors
ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
The nesC language: A holistic approach to networked embedded systems
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Random testing of interrupt-driven software
Proceedings of the 5th ACM international conference on Embedded software
A theory of data race detection
Proceedings of the 2006 workshop on Parallel and distributed systems: testing and debugging
An effective method to control interrupt handler for data race detection
Proceedings of the 5th Workshop on Automation of Software Test
Effective data-race detection for the kernel
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
Hi-index | 0.00 |
Data races are notorious concurrency bugs that are difficult to be reproduced and may lead programs into unintended nondeterministic executions. Asynchronous interrupts introduce fine-grained parallelism into interrupt-driven programs making them prone to data races and hard to be thoroughly tested and debugged. Unfortunately, only few tools and techniques have been proposed for dynamic data race detection in interrupt-driven programs that are however widely used in embedded systems. This paper surveys the existing dynamic race detection techniques for interrupt-driven programs, analyzes them to circumscribes the problems they face in reporting data races, and finally highlights the challenges that a dynamic race detection for interrupt-driven program needs to overcome.