基于上下文敏感分析的数据竞争检测方法  

A context-sensitive approach to data race detection

在线阅读下载全文

作  者:张杨[1] 刘欢 张冬雯[1] ZHANG Yang;LIU Huan;ZHANG Dongwen(School of Information Science and Engineering,Hebei University of Science and Technology,Shijiazhuang,Hebei 050018,China)

机构地区:[1]河北科技大学信息科学与工程学院,河北石家庄050018

出  处:《河北科技大学学报》2020年第5期416-423,共8页Journal of Hebei University of Science and Technology

基  金:河北省自然科学基金(18960106D);河北省高等学校科学研究重点项目(ZD2019093)

摘  要:为了提高数据竞争检测过程的准确性,提出了一种基于上下文敏感分析的数据竞争检测方法。使用控制流分析构建上下文敏感的调用图,采用逃逸分析查找出可能发生数据竞争的线程逃逸对象,进行上下文敏感的别名分析以减少误报和漏报,通过发生序关系判断消除由于忽略线程交互而导致的误报。依据该方法,在WALA软件分析框架实现了一个数据竞争检测工具ConRacer,并将该工具与现有的检测工具SRD和RVPredict进行了比较。结果表明,与SRD和RVPredict相比,ConRacer的检测准确度最高,不仅可以有效地检测数据竞争,而且可以降低检测过程中的误报和漏报。通过结合上下文敏感分析技术与传统的静态检测技术,ConRacer提高了检测过程的准确性,对发现并发错误和优化软件性能有一定的参考价值。To improve the correctness of data race detection,an approach to the data race detection based on the context-sensitive analysis in multithreaded programs was proposed.Firstly,control flow analysis was used to construct context-sensitive call graphs,and then escape analysis was employed to find thread-escaped objects that may cause data race.Secondly,context-sensitive alias analysis was conducted to reduce false positives and false negatives.Finally,the happens-before analysis was performed to remove false positives caused by ignoring thread interactions.A data race detection tool ConRacer was implemented in WALA framework based on this approach and was compared with the existing tools SRD and RVPredict.The experimental results show that ConRacer is the most precise tool compared with SRD and RVPredict and it can not only detect data races,but also reduce false positives and false negatives effectively.ConRacer improves the detection accuracy by combining context-sensitive with static detection methods,which has certain reference value for discovering concurrent errors and optimizing software performance.

关 键 词:并行处理 并发程序 数据竞争 上下文敏感 逃逸分析 

分 类 号:TP311[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象