摘要

针对传统方法多线程并发程序访问数据误差检测存在检测精度低、能耗高的问题,提出多线程并发程序访问数据误差静态检测方法。扫描解析出来的多线程并发程序源代码,对待检测的部分进行词法分析、语法分析,通过高效链的储存结构,建立XML中间数据模型提取代码属性;构建数据访问树,扫描出待检测部分所存在竞争关系的节点,确定竞争关系节点的时序关系,按自上而下遍历节点,将遍历结果记录在syncObjCache中,匹配前文代码属性,根据匹配结果,完成进行静态检测。仿真结果表明:检测准确性有大幅度提高,能耗减少,达到预期效果。