首页 | 本学科首页   官方微博 | 高级检索  
     

一种基于类的Java多线程程序数据竞争静态检测算法
引用本文:宋东海,贲可荣,张志祥.一种基于类的Java多线程程序数据竞争静态检测算法[J].计算机工程与科学,2014,36(2):233-237.
作者姓名:宋东海  贲可荣  张志祥
基金项目:国家自然科学基金资助项目(61272108)
摘    要:多线程并发程序的广泛使用引发了更多的数据竞争问题,竞争检测对于提高软件质量具有重要意义。将竞争静态检测和静态切片分析结合起来,提出了一种基于类的Java数据竞争静态检测算法,该算法利用函数调用层次获得函数调用链,对类域进行分析,找出可能数据竞争,通过静态切片缩小程序分析范围,并结合数据竞争的必要条件,去掉不可能数据竞争。实例表明,该算法可用于指导修复程序中的竞争缺陷。

关 键 词:多线程程序  数据竞争  程序切片  静态分析  竞争检测  
收稿时间:2013-10-05
修稿时间:2014-02-25

A class-based data race static detection algorithm for Java multithread programs
SONG Dong hai,BEN Ke rong,ZHANG Zhi xiang.A class-based data race static detection algorithm for Java multithread programs[J].Computer Engineering & Science,2014,36(2):233-237.
Authors:SONG Dong hai  BEN Ke rong  ZHANG Zhi xiang
Affiliation:(Department of Computer Engineering,Naval University of Engineering,Wuhan 430033,China)
Abstract:The widespread use of multithread concurrent programs induces more detrimental data race problems, race detection is very important for improving software quality. Combining data race static detection with static program slicing, a class based data race static detection algorithm for Java multithread programs is proposed. The algorithm obtains function call chains by using function calls, analyzes every field of a class, finds out possible data race, reduces the range of program analysis through static program slicing, and removes the impossible data race by considering the necessity of data race. An example demonstrates that the proposed algorithm can guide programmers to fix software data race defects.
Keywords:multithread program  data race  program slice  static analysis  race detection  
本文献已被 CNKI 等数据库收录!
点击此处可从《计算机工程与科学》浏览原始摘要信息
点击此处可从《计算机工程与科学》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号