Software maintenance is a costly process because each modification to a program must take into account many complex dependence relationships in the existing software. An understanding of program dependences is therefore an inevitable step to efficient software change. We propose a dependence based representation named the system dependence net (SDN), which extends previous dependence based representations to represent various program dependences in concurrent object oriented programs. An SDN of a concurrent object oriented program consists of a collection of dependence graphs each representing a main procedure, a free standing procedure, or a method in a class of the program. It also consists of some additional arcs to represent direct dependences between a call and the called procedure/method and transitive interprocedural data dependences. An SDN can be used to represent either object oriented features or concurrency issues in a concurrent object oriented program, and can be used as an underlying representation in a maintenance environment for concurrent object oriented programs.
['Jianjun Zhao']
A dependence-based representation for concurrent object-oriented software maintenance