计算机科学与探索 ›› 2015, Vol. 9 ›› Issue (8): 914-925.DOI: 10.3778/j.issn.1673-9418.1411052
陈园军1,2,石浚菁1,2,王林章1,2+,李宣东1,2
CHEN Yuanjun1,2, SHI Junjing1,2, WANG Linzhang1,2+, LI Xuandong1,2
摘要: 中断驱动的嵌入式系统广泛应用于对安全和稳定性要求极高的领域,但因系统设计复杂,运行环境多样等原因,中断不确定性导致的严重故障时有发生,数据竞争是较为棘手的问题之一。已有工作对中断导致的数据竞争检测做了许多尝试,但目前还没有比较易用的解决方案。为了解决这类问题,提出了一种基于控制流图的静态检测方法。该方法通过对源程序进行预处理分析,检测出程序中使用的共享资源和中断使能操作;根据预处理的结果,构建出源程序对应的简要控制流图;通过对简要控制流图的抢占关系分析,得到可能会导致竞争关系的执行序列。实验结果表明,该方法能有效检测出程序中潜在的竞争关系,并指明该潜在竞争的发生路径,帮助软件测试人员对故障进行确认和修复。