IEEE Transactions on Software Engineering · 2020 · 15 citations · 73 references
ComputingComputer EngineeringComputer ScienceEmbedded SystemsHardware-software Co-designSystems ProgrammingControl-flow AnalysisInterrupt HandlingRace Condition VulnerabilitiesSafety-critical Embedded SystemsSymbolic ExecutionData Race AnalysisDynamic Race DetectionRace Condition AnalysisRace Condition DetectionRace ConditionsSafety-critical Systems AnalysisStatic Race DetectionSymbolic Execution Engines
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 (or two 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, validate and repair 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. Finally, it provides repair candidates to eliminate the detected races. We evaluate SDRacer on nine real-world embedded programs written in C language. The results show that SDRacer can precisely detect and successfully fix race conditions.
73
Stefan Savage, Michael T. Burrows, Greg Nelson et al. · ACM Transactions on Computer Systems · 1997 · 1.6K citations · Full text
Willem Visser, Klaus Havelund, Guillaume Brat et al. · Automated Software Engineering · 2003 · 1.4K citations
Program Analysis and Specialization for the C Programming Language
Lars Ole Andersen, Peter Lee · 2005 · 920 citations
Shan Lu, Soyeon Park, Eunsoo Seo et al. · 2008 · 892 citations