kirancodes.me
To Proof Maintenance & Beyond!

Detecting Atomicity Violations in Interrupt-Driven Programs via Interruption Points Selecting and Delayed ISR-Triggering

Bin Yu, Cong Tian, Hengrui Xing, Zuchao Yang, Jie Su, Xu Lu, Jiyu Yang, Liang Zhao, Xiaofeng Li, Zhenhua Duan

Abstract

Interrupt-driven programs have been widely used in safety-critical areas such as aerospace and embedded systems. However, uncertain interleaving execution of interrupt service routines (ISRs) usually causes concurrency bugs. Specifically, when one or more ISRs attempt to preempt a sequence of instructions which are expected to be atomic, a kind of concurrency bugs namely atomicity violation may occur, and it is challenging to find this kind of bugs precisely and efficiently. In this paper, we propose a static approach for detecting atomicity violations in interrupt-driven programs. First, the program model is constructed with interruption points being selected to determine the possibly influenced ISRs. After that, reachability computation is conducted to build up a whole abstract reachability tree, and a delayed ISR-triggering strategy is employed to reduce the state space. Meanwhile, unserializable interleaving patterns are recognized to achieve the goal of atomicity violation detection. The approach has been implemented as a configurable tool namely CPA4AV. Extensive experiments show that CPA4AV is much more precise than the relative tools available with little extra time overhead. In addition, more complex situations can be dealt with CPA4AV.

BibTeX
@inproceedings{Yu-al:FSE23,
  author    = {Bin Yu and
               Cong Tian and
               Hengrui Xing and
               Zuchao Yang and
               Jie Su and
               Xu Lu and
               Jiyu Yang and
               Liang Zhao and
               Xiaofeng Li and
               Zhenhua Duan},
  title     = {Detecting Atomicity Violations in {Interrupt-Driven} Programs via Interruption Points Selecting and Delayed {ISR-Triggering}},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {1153--1164},
  publisher = {{ACM}},
  year      = {2023},
}

Related papers