AN APPROACH TO ANALYZING DEPENDENCE OF CONCURRENT PROGRAMS
CHEN Zhen Qiang ① and XU Bao Wen ①② ①(Department of Computer Science and Engineering, Southeast University, Nanjing 210096) ②(State Key Laboratory of Software Engineering, Wuhan University, Wuhan 430072)
Dependence analysis is an important approach to analyzing and understanding programs, which has been widely used in debugging, testing, measurement, maintenance and reverse engineering. With more and more programs being concurrent, the methods to analyze dependencies for concurrent programs have become an important research field. But there are many difficulties to be solved because their executions are unpredicted. First proposed is a precise and efficient representation for concurrent Ada tasks-concurrent control flow graph. Then discussed are the synchronal dependencies introduced by synchronization among tasks and inter task data dependencies introduced by accessing shared variables. And methods are given to construct the concurrent program dependence graphs to represent all kinds of dependencies. Based on these models, an efficient dependence analysis algorithm for concurrent programs is presented, which can obtain more precise dependence information, and resolve the intransitivity problem in some degree.