一种基于高阶函数的数据竞争检测方法
摘要:
本发明公开了一种基于高阶函数的数据竞争检测方法,包括:对程序进行预处理,构建跨线程函数调用图和各函数的控制流图,按照逆拓扑排序的顺序遍历函数调用图,确定每个函数的分析顺序;按序选取一个待分析的函数,遍历函数的控制流图,获取各个函数的高阶函数摘要和由于函数调用和参数传递产生的过程间访问事件集;基于向量时钟和高阶函数摘要对访问事件进行发生序分析;通过数据竞争发生的条件排除不满足的访问事件对,获取所有可能发生数据竞争的结果。本发明可方便在调用点处按实参和形参对应的关系完成函数摘要中高阶函数参数的代入,有效提高了过程间数据竞争信息收集的效率,再通过向量时钟与函数摘要的结合,可进行高效的发生序分析。
公开/授权文献
0/0