题名 并发缺陷暴露、检测与规避研究综述
被引量:19
1
作者
苏小红
禹振
王甜甜
马培军
机构
哈尔滨工业大学计算机科学与技术学院
出处
《计算机学报》
EI
CSCD
北大核心
2015年第11期2215-2233,共19页
基金
国家自然科学基金(61173021
61202092)资助~~
文摘
当今普遍流行的多核架构使得硬并发成为现实.为了从硬件的并发能力获益,并发程序设计正越来越流行.然而由于内在的并发性和不确定性,并发程序易于遭遇并发缺陷,并且它们难以检测、调试和修复.文中指出软件开发正从顺序模式转向并发模式的趋势,揭示并发程序和并发缺陷各自的三大特点,剖析并发缺陷面临的三大挑战,然后将并发缺陷分为死锁、数据竞争、原子性违背和顺序违背4类,并讨论4类并发缺陷的相互关系,接着就如何尽快暴露、及时检测和高效规避各类并发缺陷对已有研究作出分析、比较和归纳,最后从智能快速的缺陷暴露、通用准确的缺陷检测、确定性重放支持、软硬件协同设计和新的并发编程模型等5个方面展望了未来的研究重点.
关键词
并发缺陷
死锁
数据竞争
原子性违背
顺序违背
程序分析
软件测试
Keywords
concurrency bug
deadlock
data race
atomicity violation
order violation
program analysis
software testing
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
题名 一种解决嵌入式软件并发缺陷的建模方法
被引量:1
2
作者
崔凯
赵国亮
周宽久
李明楚
机构
大连理工大学软件学院
北京大学软件与微电子学院
出处
《计算机科学》
CSCD
北大核心
2020年第6期24-31,共8页
基金
国家自然科学基金(61872052,61772113,61733002)
中央高校基本科研业务费专项资金(DUT2019ZD104)。
文摘
嵌入式并发软件的中断嵌套和线程交织等程序的随机性和不确定性(Randomicity and Nondeterminism)会引起数据竞争(Data Race)和原子性违背(Atomicity Violations)等并发缺陷问题,并且这些问题很难被修复和重新构建。针对嵌入式软件中的数据竞争和原子性违背这类并发缺陷问题,文中提出了瘦中断处理(Thin Interrupt Service Routine,Thin ISR)方式。首先,利用状态迁移矩阵(State Transition Matrix,STM)进行建模,把中断处理程序中与访问共享变量相关的程序段移植到主程序中,即中断处理程序只负责将外界中断请求数据存到缓冲区中,中断的具体处理由主程序完成;然后,利用构建的STM模型生成对应的C代码,这样可以有效地避免原子性违背和数据竞争等并发缺陷;最后,利用排队方法对中断的到达时间与离开时间进行仿真。实验结果验证了本方法在解决数据竞争和原子性违背等并发缺陷问题方面的可行性与有效性。
关键词
中断嵌套
数据竞争
原子性违背
状态迁移矩阵
瘦中断
Keywords
Interrupt nesting
Data race
Atomicity violation
State transition matrix
Thin interrupt service routine
分类号
TP306
[自动化与计算机技术—计算机系统结构]
题名 航天软件中多重中断程序的动态检测方法研究
被引量:3
3
作者
梁昊
艾云峰
沈怀荣
赵永超
机构
装备学院研究生管理大队
中国科学院大学工程管理与信息技术学院
装备学院航天装备系
国防大学作战与指挥训练教研部
出处
《航天控制》
CSCD
北大核心
2014年第5期59-64,共6页
文摘
随着控制系统软硬件平台的设计复杂度不断增加,特别是飞行控制系统中集成的传感器不断增多,中断数量也随之不断增加。本文根据飞控系统的具体特点,使用标记迁移系统对多重中断并发程序进行建模,提出了原子性违背和数据竞争的形式化描述,运用动态偏序化简算法对程序的状态空间进行化简,并设计实现了多重中断控制系统程序的动态检测工具,实验结果表明该检测算法可以在满足对多重中断并发程序错误检测的基础上,大大的缩短检测时间。
关键词
多重中断
数据竞争
原子性违背
偏序化简
Keywords
Multiple interrupt
Data race
Atomicity violation
DPOR
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
题名 控制系统多重中断并发程序测试动态工具设计
4
作者
梁昊
艾云峰
陈丽容
沈怀荣
赵永超
机构
装备学院研究生管理大队
中国航天科工集团第二研究院
中国科学院大学工程管理与信息技术学院
装备学院航天装备系
国防大学作战与指挥训练教研部
出处
《计算机工程与设计》
北大核心
2015年第7期1813-1819,共7页
文摘
为解决控制系统软件中多重中断导致的系统不稳定性和难以预测性,根据控制系统并发程序的具体特点,设计面向多重中断并发程序的测试工具。测试工具主要包括程序分析器、程序插装器、控制执行器、中断发生器4个部分。采用动态验证的测试方式,以动态偏序化简算法为基础,引入中断处理机制和sleep集合,将该算法应用于多重中断并发程序的动态监测工具中。该工具可以对原子性违背、数据竞争者两种常见的多重中断并发错误进行有效检测。
关键词
多重中断
迁移
状态
数据竞争
原子性违背
偏序化简
Keywords
multiple interrupt
transition
state
data race
atomicity violation
DPOR
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]