• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

J4 ›› 2014, Vol. 36 ›› Issue (02): 233-237.

• 论文 • Previous Articles     Next Articles

A class-based data race static detection algorithm for Java multithread programs               

SONG Donghai,BEN Kerong,ZHANG Zhixiang   

  1. (Department of Computer Engineering,Naval University of Engineering,Wuhan 430033,China)
  • Received:2013-10-05 Revised:2013-12-10 Online:2014-02-25 Published:2014-02-25

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.

Key words: multithread program;data race;program slice;static analysis;race detection