检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
作 者:张杨[1] 梁亚楠 张冬雯[1] 孙仕欣 ZHANG Yang;LIANG Yanan;ZHANG Dongwen;SUN Shixin(School of Information Science and Engineering,Hebei University of Science and Technology,Shijiazhuang Hebei 050000,China)
机构地区:[1]河北科技大学信息科学与工程学院,石家庄050000
出 处:《计算机应用》2019年第1期61-65,共5页journal of Computer Applications
基 金:国家自然科学基金资助项目(61440012);河北省自然科学基金资助项目(F2016208007);河北省基础研究计划重点基础专项(18960106D)~~
摘 要:针对数据竞争检测过程中的误报和漏报问题,提出一种静态数据竞争检测方法。首先,使用控制流分析自动构造线程内和线程间函数调用图;然后,收集线程内变量访问事件信息,定义竞争产生条件并分析检测出所有可能的竞争;其次,为了提高检测的准确率,进行别名变量和别名锁的分析降低漏报和误报;最后,通过控制流分析来抽象访问事件之间的时序关系,并结合程序切片技术对访问事件的发生序关系进行判断,以此避免因忽略线程交互带来的误报。依据该方法,使用Java语言在Soot软件分析框架下实现了一个数据竞争检测工具。在实验中,对JGF和IBM Contest基准测试套件中的raytracer和airline等程序进行数据竞争检测,并与目前已有的数据竞争检测算法和工具(HB算法和RVPredict)进行对比。实验结果表明,与HB算法和RVPredict工具相比,该方法检测到的数据竞争总数分别增加了81%和16%,数据竞争检测的准确率分别提升了约14%和19%,有效地避免了数据竞争检测中的漏报和误报现象。Aiming at the problems of false positive and false negatives in data race detection,a novel static data race detection approach was proposed.Firstly,intra-thread and inter-thread function call graphs were automatically constructed via control flow analysis.Secondly,the information of variable-access events within thread were collected,and possible races were detected based on the defined data race conditions.Then,in order to improve the detection accuracy,alias variables and alias locks were analyzed to reduce false negatives and false positives,respectively.Finally,the sequential relationship between access events was abstracted through control flow analysis,and program slicing was used to determine the happens-before relationship of access events,thereby reducing false positives caused by ignoring thread interactions.A data race detection tool was implemented by Java and Soot framework based on this approach.In the experimentation,several benchmarks from JGF and IBM Contest benchmark suites,such as raytracer and airline,were selected for evaluation,and the results were compared with existing data race detection algorithm and tool(HB(Happens-Before)and RVPredict).The experimental results show that,compared with algorithm HB and tool RVPredict,total number of data races detected by the proposed approach are increased by 81% and 16% respectively,the accuracy of this approach for data race detection are respectively increased by 14% and 19%,which effectively avoids false negatives and false positives.
关 键 词:并发程序 数据竞争 控制流分析 别名分析 程序切片
分 类 号:TP311.53[自动化与计算机技术—计算机软件与理论]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:216.73.216.38