一种基于调用链的Java程序数据竞争静态检测算法
A Call-chain-based Static Data Race Detection Algorithm for Java Program作者机构:92493部队88分队 92515部队
出 版 物:《舰船电子工程》 (Ship Electronic Engineering)
年 卷 期:2013年第33卷第12期
页 面:53-57页
学科分类:081203[工学-计算机应用技术] 08[工学] 0835[工学-软件工程] 0812[工学-计算机科学与技术(可授工学、理学学位)]
摘 要:多线程并发程序的广泛使用引发了更多的数据竞争问题,竞争检测对于提高软件质量具有重要意义。论文将竞争静态检测和静态切片分析结合起来,提出了一种类层次的Java数据竞争静态检测算法,该算法利用函数调用层次获得函数调用链,对类域进行分析,找出可能数据竞争,通过静态切片缩小程序分析范围,并结合数据竞争的必要条件,去掉不可能数据竞争。实例表明,该算法可用于指导修复程序中的竞争缺陷。