期刊文献+

基于变量访问序模式的中断数据竞争检测方法 被引量:17

Interrupt Data Race Detection Based on Shared Variable Access Order Pattern
下载PDF
导出
摘要 在航天嵌入式软件等中断驱动型软件中,中断数据竞争问题十分突出.然而,中断在并发语义、同步机制、调度机制等方面与线程(任务)有诸多不同,具有Ad-hoc特征,难以统一刻画,因此,主流的数据竞争检测方法并不适用.以航天嵌入式软件数据竞争案例库为基础进行了系统分析,提出刻画有害中断数据竞争的7种缺陷模式.针对其中最常见且最难解决的单变量访问序模式,基于抽象解释,提出一种支持过程间分析、中断并发分析的高效检测方法.设计并实现了相应的检测工具Space DRC.实验结果表明,Space DRC能够在145ms内检测出约21 400行程序中的真实数据竞争.Space DRC已经在多个航天重点型号中进行了应用,使得中断数据竞争专项分析的效率提高了至少5倍,并且降低了问题遗漏率. Interrupt data race is a category of critical bugs in interrupt-driven software such as aerospace embedded software. However, interrupt is much different from thread or task on concurrency semantics, synchronization and schedule, and its ad-hoc characteristics is hard to describe. Thus the state-of-art data race detection techniques are not suitable to interrupt-driven software. In this paper, the data race bug repository of aerospace embedded software is reviews systematically, and seven bug patterns for harmful interrupt data race are proposed. For the pattern single variable access order, an efficient abstract interpretation based detection method is developed to support inter-procedural and interrupt concurrency analysis. A tool named Space DRC is designed to verify our method. The evaluation results show that Space DRC only takes 145 ms to detect 21400 lines of code to find the true bugs. Up to now, Space DRC has been applied in several aerospace missions, increasing the efficiency of interrupt data race inspection by 5 times and making a significant reduction in bug omission rate.
出处 《软件学报》 EI CSCD 北大核心 2016年第3期547-561,共15页 Journal of Software
基金 国家自然科学基金(91118007)~~
关键词 中断驱动型程序 数据竞争 抽象解释 interrupt-driven program data race abstract interpretation
  • 相关文献

参考文献5

二级参考文献65

  • 1吴萍,陈意云,张健.多线程程序数据竞争的静态检测[J].计算机研究与发展,2006,43(2):329-335. 被引量:21
  • 2Cooprider N. Data-flow analysis for interrupt-driven microeontroller software [D]. Salt Lake City: the University of Utah, 2008.
  • 3Flanagan C, Freund S N. Type-based race detection for Java [c] //Proc of the ACM SIGPLAN 2000 Conf on Programming Language Design and Iimplernentation. New York: ACM, 2000, 219-232.
  • 4Naik M, Aiken A, Whaley J. Effective static race detection for Java [C]//Proc of the ACM SIGPLAN 2006 Conf on Programming Language Design and Implementation. New York: ACM, 2006:308-319.
  • 5Engler D, Ashcraft K. RaceX: Effective static detection of race conditions and deadlocks [C] //Proc of the 19th ACM Symp on Operating System Principles. New York: ACM, 2003:237-252.
  • 6Voung J W, Jhala R, Lerner S. RELAY: Static race detection on millions of lines of code [C]//Proc of the the 6th Joint Meeting of the European Software Engineering Conf and the ACM SIGSOFT Syrup on the Foundations of Software Engineering. New York: ACM, 2007:205-214.
  • 7Pratikakis P, Foster J S, Hicks M. LOCKSMITH: Context- sensitive correlation analysis for race detection [C] //Proc of the ACM SIGPLAN 2006 Conf on Programming Language Design and Implementation. New York: ACM, 2006: 320- 331.
  • 8Henzinger T A, Jhala R, Majumdar R. Race checking by context inference [C] //Proe of the ACM SIGPLAN 2004 Conf on Programming Language Design and Implementation. New York: ACM, 2004:1-13.
  • 9Dinning A, Schonberg E. An empirical comparison of monitoring algorithms for access anomaly detection [J]. ACM SIGPLAN Notices, 1990, 25(3): 1-10.
  • 10Savage S, Burrows M, Nelson C G, et al. Eraser: A dynamic data race detector for multithreaded programs [J]. ACM Trans on Computer Systems, 1997, 15(4) : 391-411.

共引文献36

同被引文献121

引证文献17

二级引证文献35

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部