Approach to detect dead statements for concurrent programs

Zhen Chen,Baowen Xu
2002-01-01
Ruan Jian Xue Bao/Journal of Software
Abstract:In concurrent programs, due to the schedule, race conditions and synchronization among concurrent units, some statements may never be executed. Such statements are dead statements and have no influence on the programs except make them more difficult to be analyzed and understood. The paper develops a data flow approach to detect dead statements for concurrent programs. In this method, concurrent programs are represented by concurrent control flow graphs in a simple and precise way without losing useful information. Based on this representation, the paper proposes an efficient method to detect statement pairs, which can be executed concurrently. According to the information obtained, a method is proposed to determine not only whether synchronization can be triggered, but also whether synchronization triggered can be finished, and detecting rules are extracted. Based on all the information and rules, a dead statement-detecting algorithm is proposed. This algorithm can obtain more precise information in polynomial time than most of other methods and the information obtained can be widely used in optimization, detection of anomalies, improving the accuracy of data flow analysis, etc.
What problem does this paper attempt to address?