摘要
多线程并发程序的广泛使用引发了更多的数据竞争问题,竞争检测对于提高软件质量具有重要意义。论文将竞争静态检测和静态切片分析结合起来,提出了一种类层次的Java数据竞争静态检测算法,该算法利用函数调用层次获得函数调用链,对类域进行分析,找出可能数据竞争,通过静态切片缩小程序分析范围,并结合数据竞争的必要条件,去掉不可能数据竞争。实例表明,该算法可用于指导修复程序中的竞争缺陷。
The widespread use of multithread concurrent programs causes more detrimental data race problems, race detection is very important for improving software quality. Combining static data race detection with static program slicing, a class-lever static data race detec- tion algorithm for Java multithread programs is presented, which analysis every field of a class with call-chain as its context to remove the im- possible data race. An example illustrates the proposed algorithm can help to guide programmer to fix software data race defects.
出处
《舰船电子工程》
2013年第12期53-57,共5页
Ship Electronic Engineering
关键词
数据竞争
程序切片
静态分析
竞争检测
data race, program slice, static analysis, race detection