Abstract
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.
This research was supported by the MKE (The Ministry of Knowledge Economy), Korea, under the ITRC (Information Technology Research Center) support program supervised by the NIPA (National IT Industry Promotion Agency), NIPA-2012-H0301-12-3003.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Banerjee, U., Bliss, B., Ma, Z., Petersen, P.: A Theory of Data Race Detection. In: Parallel and Distributed Systems: Testing and Debugging, pp. 69–78. ACM (July 2006)
Erickson, J., Musuvathi, M., Burckhardt, S., Olynyk, K.: Effective Data-Race Detection for the Kernel. In: Operating Systems Design and Implementation. USENIX (2010)
Higashi, M., Yamamoto, T., Hayase, Y., Ishio, T., Inoue, K.: An Effective Method to Control Interrupt Handler for Data Race Detection. In: Workshop on Automation of Software Test, pp. 79–86. ACM (2010)
Gay, D., Levis, P., Behren, R.V., Welsh, M., Brewer, E., Culler, D.: The nesC Language: A holistic Approach to Networked Embedded Systems. In: Programming Language Design and Implementation, pp. 1–11. ACM (2003)
Hill, J., Szewczyk, R., Woo, A., Hollar, S., Culler, D.E., Pister, K.S.J.: System Architecture Directions for Networked Sensors. In: Architectural Support for Programming Languages and Operating Systems, pp. 93–104. ACM (2000)
Lee, B.-K., Kang, M.-H., Park, K.C., Yi, J.S., Yang, S.W., Jun, Y.-K.: Program Conversion for Detecting Data Races in Concurrent Interrupt Handlers. In: Kim, T.-h., Adeli, H., Kim, H.-k., Kang, H.-j., Kim, K.J., Kiumi, A., Kang, B.-H. (eds.) ASEA 2011. CCIS, vol. 257, pp. 407–415. Springer, Heidelberg (2011)
Leveson, N.G., Turner, C.S.: An Investigation of the Therac-25 Accidents. IEEE Computer 26(7), 18–41 (1993)
Netzer, R.H.B., Miller, B.P.: What Are Race Conditions? Some Issues and Formalizations. ACM Letters on Programming Languages and Systems 1(1), 74–88 (1992)
Regehr, J.: Random Testing of Interrupt-Driven Software. In: International Conference on Embedded Software, pp. 290–298. ACM (2005)
Tchamgoue, G.M., Kim, K.H., Jun, Y.-K.: Testing and Debugging Concurrency Bugs in Event-Driven Programs. International Journal of Advanced Science and Technology 40, 55–63 (2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tchamgoue, G.M., Kim, K.H., Jun, YK. (2012). Dynamic Race Detection Techniques for Interrupt-Driven Programs. In: Kim, Th., Lee, Yh., Fang, Wc. (eds) Future Generation Information Technology. FGIT 2012. Lecture Notes in Computer Science, vol 7709. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35585-1_20
Download citation
DOI: https://doi.org/10.1007/978-3-642-35585-1_20
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-35584-4
Online ISBN: 978-3-642-35585-1
eBook Packages: Computer ScienceComputer Science (R0)