Department of Computer Engineering2024-11-09201797833196753050302-974310.1007/978-3-319-67531-2_242-s2.0-85029582642https://hdl.handle.net/20.500.14288/404We propose EmbedSanitizer, a tool for detecting concurrency data races in 32-bit ARM-based multithreaded C/C++ applications. Moreover, we motivate the idea of detecting data races in embedded systems software natively; without virtualization or emulation or use of alternative architecture. Detecting data races in applications on a target hardware provides more precise results and increased throughput and hence enhanced developer productivity. EmbedSanitizer extends ThreadSanitizer, a race detection tool for 64-bit applications, to do race detection for 32-bit ARM applications. We evaluate EmbedSanitizer using PARSEC benchmarks on an ARMv7 CPU with 4 logical cores and 933 MB of RAM. Our race detection results precisely match with results when the same benchmarks run on 64-bit machine using ThreadSanitizer. Moreover, the performance overhead of EmbedSanitizer is relatively low as compared to running race detection on an emulator, which is a common platform for embedded software development.pdfSoftware designEmbedSanitizer: runtime race detection tool for 32-bit embedded ARMConference proceedinghttps://doi.org/10.1007/978-3-319-67531-2_24463267200024N/ANOIR01479