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

Interrupt Data Race Detection Based on Shared Variable Access Order Pattern

在线阅读下载全文

作  者:陈睿[1,2] 杨孟飞[3] 郭向英[1,2] 

机构地区:[1]北京控制工程研究所,北京100190 [2]北京轩宇信息技术有限公司,北京100190 [3]中国空间技术研究院,北京100094

出  处:《软件学报》2016年第3期547-561,共15页Journal of Software

基  金:国家自然科学基金(91118007)~~

摘  要:在航天嵌入式软件等中断驱动型软件中,中断数据竞争问题十分突出.然而,中断在并发语义、同步机制、调度机制等方面与线程(任务)有诸多不同,具有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.

关 键 词:中断驱动型程序 数据竞争 抽象解释 

分 类 号:TP311[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象