Automatic Detection and Validation of Race Conditions in Interrupt-Driven Embedded Software
Interrupt-driven programs are widely deployed in safety-critical embedded systems to perform hardware and resource dependent data operation tasks. The frequent use of interrupts in these systems can cause race conditions to occur due to interactions between application tasks and interrupt handlers. Numerous program analysis and testing techniques have been proposed to detect races in multithreaded programs. Little work, however, has addressed race condition problems related to hardware interrupts. In this paper, we present SDRacer, an automated framework that can detect and validate race conditions in interrupt-driven embedded software. It uses a combination of static analysis and symbolic execution to generate input data for exercising the potential races. It then employs virtual platforms to dynamically validate these races by forcing the interrupts to occur at the potential racing points. We evaluate SDRacer on nine real-world embedded programs written in C language. The results show that SDRacer can precisely detect race conditions.
Tue 11 JulDisplayed time zone: Tijuana, Baja California change
10:30 - 11:45 | |||
10:30 25mTalk | Efficient Computation of Happens-Before Relation for Event-Driven Programs Technical Papers Pallavi Maiya Indian Institute of Science, Bangalore, Aditya Kanade Indian Institute of Science, Bangalore DOI | ||
10:55 25mTalk | Automatic Detection and Validation of Race Conditions in Interrupt-Driven Embedded Software Technical Papers Yu Wang Nanjing University, China, Linzhang Wang , Tingting Yu University of Kentucky, Jianhua Zhao Nanjing University, China, Xuandong Li Nanjing University DOI | ||
11:20 25mTalk | Monitoring Decentralized Specifications Technical Papers Antoine El-Hokayem Grenoble Alpes University, France / Inria, France / CNRS, France, Yliès Falcone Univ. Grenoble Alpes, Inria DOI |