Efficient data race detection for interrupt-driven programs via path feasibility analysis

被引:2
|
作者
Zhao, Jingwen [1 ]
Wu, Yanxia [1 ]
Dong, Jibin [1 ]
机构
[1] Harbin Engn Univ, Coll Comp Sci & Technol, Harbin 150001, Peoples R China
来源
JOURNAL OF SUPERCOMPUTING | 2024年 / 80卷 / 15期
关键词
Interrupt-driven programs; Date race; Static analysis; Path feasibility analysis; Bug detection; VERIFICATION;
D O I
10.1007/s11227-024-06189-4
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Interrupt-driven programs are widely used in embedded systems with high security requirements. However, uncertain interleaving execution of tasks and interrupts may cause concurrency bugs, with data races being a significant factor in threatening security. Most of the previous research has focused on detecting data races in multi-threaded programs. And existing static analysis methods for interrupt-related data race detection often produce many false positives. This paper presents IntRace, an accurate and efficient static detection technique for interrupt data race. IntRace eliminates false data race by analyzing potential concurrency relationships and path reachability. It first identifies all race candidate pairs using access interleaving pattern matching. Then for each pair of operational accesses, IntRace analyzes potential concurrency relationships, including the special case of interrupt nesting, and uses this information to filter out access pairs that cannot concurrently access the same location. Finally, it checks the feasibility of events in the access pairs by constructing path constraints, which effectively eliminating infeasible paths in concurrent contexts. In addition, IntRace was evaluated on benchmark tests and 9 real embedded programs. The experimental results show that IntRace reduces the false positive rate by 73.2% compared to recent studies.
引用
收藏
页码:21699 / 21725
页数:27
相关论文
共 50 条
  • [31] Static analysis for concurrent programs with applications to data race detection
    Kahlon V.
    Sankaranarayanan S.
    Gupta A.
    International Journal on Software Tools for Technology Transfer, 2013, 15 (4) : 321 - 336
  • [32] Efficient on-the-fly data race detection in multithreaded C++ programs
    Pozniansky, E
    Schuster, A
    ACM SIGPLAN NOTICES, 2003, 38 (10) : 178 - 189
  • [33] Throughput-delay analysis of interrupt-driven kernels with DMA enabled and disabled in high-speed networks
    Salah, K
    El-Badawi, K
    JOURNAL OF HIGH SPEED NETWORKS, 2006, 15 (02) : 157 - 172
  • [34] Effective Race Detection for Event-Driven Programs
    Raychev, Veselin
    Vechev, Martin
    Sridharan, Manu
    ACM SIGPLAN NOTICES, 2013, 48 (10) : 151 - 166
  • [35] MultiRace: efficient on-the-fly data race detection in multithreaded C++ programs
    Pozniansky, Eli
    Schuster, Assaf
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2007, 19 (03): : 327 - 340
  • [36] Efficient Data Race Detection of Async-Finish Programs Using Vector Clocks
    Kumar, Shivam
    Agrawal, Anupam
    Biswas, Swarnendu
    PROCEEDINGS OF THE THIRTEENTH INTERNATIONAL WORKSHOP ON PROGRAMMING MODELS AND APPLICATIONS FOR MULTICORES AND MANYCORES (PMAM '22), 2022, : 45 - 54
  • [37] Dynamic Data Race Detection for OpenMP Programs
    Gu, Yizi
    Mellor-Crummey, John
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE, AND ANALYSIS (SC'18), 2018,
  • [38] Incremental detection of data race for java programs
    Zhang, Yu
    Hao, Yunyun
    Hsi-An Chiao Tung Ta Hsueh/Journal of Xi'an Jiaotong University, 2009, 43 (08): : 22 - 27
  • [39] Path Feasibility Analysis for String-Manipulating Programs
    Bjorner, Nikolaj
    Tillmann, Nikolai
    Voronkov, Andrei
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2009, 5505 : 307 - 321
  • [40] Efficient Data Race Detection for C/C plus plus Programs Using Dynamic Granularity
    Song, Young Wn
    Lee, Yann-Hang
    2014 IEEE 28TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM, 2014,