一句话:首次大规模实证分析工业中断驱动嵌入式软件中的132个真实并发缺陷,总结其根因、影响、修复与表现形式。
中断驱动嵌入式软件广泛用于航空航天、汽车电子、医疗设备与物联网等领域,其中断交错执行的不确定性会引发并发缺陷,导致任务失败或严重安全问题。然而,工业实践中此类缺陷的真实特征尚缺乏系统认识。本文开展首个面向工业中断驱动嵌入式软件的大规模并发缺陷实证研究,严格分析102个工业软件中的132个真实并发缺陷,考察其根因、影响与修复策略,并刻画触发范围、竞争变量、访问交错模式和变量关联等表现形式。研究揭示若干重要发现,可指导未来面向该领域的并发缺陷检测、测试与修复技术及工具研发。
Interrupt-driven embedded software is widely used in aerospace, automotive electronics, medical equipment, IoT, and other industrial fields. This type of software is usually programmed with interrupts to interact with hardware and respond to external stimuli on time. However, uncertain interleaving execution of interrupts may cause concurrency bugs, resulting in task failure or serious safety issues. A deep understanding of real-world concurrency bugs in embedded software will significantly improve the ability of techniques in combating concurrency bugs, such as bug detection, testing and fixing. This paper performs the first comprehensive and large-scale empirical study on concurrency bugs in industrial interrupt-driven embedded software. A total number of 132 real-world concurrency bugs in 102 industrial embedded software have been rigorously analyzed. Not only have the root causes, impacts and fix strategies of bugs been studied, but also the manifestation, including triggering scopes, racing variables, access interleaving patterns, and variables correlations. This study reveals several significant findings, which can guide future research in developing techniques and tools to combat concurrency bugs for interrupt-driven embedded software.
@inproceedings{LiCWWYJ0Y23,
title = {An Empirical Study on Concurrency Bugs in Interrupt-Driven Embedded Software},
author = {Chao Li and Rui Chen and Boxiang Wang and Zhixuan Wang and Tingting Yu and Yunsong Jiang and Bin Gu and Mengfei Yang},
booktitle = {ISSTA},
year = {2023},
doi = {10.1145/3597926.3598140}
}