Download attributed graph-based representations for software view generation
Transcript
122 system change. These side eects of this change can be collected by getting all of the side eects of each replacement, individually. The Delete Operation This operation is dened to delete an entity denition/declaration or an entity reference. The textual and structural components of this operation depends on the entity's class. For example, consider the deletion of the OBJECT i (line 11). The textual component of this deletion is the removal of this character from line 11; meanwhile, its structural component includes the removal of the node i, the arc book!l i, and the arc i!r Integer from the APDG. As another example, consider the deletion of the PROCEDURE swap (line 12). The textual component of this system change is the deletion of lines 12 through 19 from the text code. The structural component of this change includes the following deletions: The deletion of the graph nodes corresponding to swap, p, q, temp, and swap:st The deletion of the arcs sort !l swap, swap !p p, swap !p q, swap !l temp, swap!l swap:st, p!r Real, swap:st!r temp, etc. The structural component of the Delete system change consists of the deletion of a whole structure subtree and all references originated from the nodes of this subtree. The side eects of deleting an entity denition/declaration are as follows: First, Delete may leave some entities of the program unused. For example, the deletion of the OBJECT list leaves the TYPE class unused. No rules are violated in this case. Secondly, Delete may leave some entities used but undeclared; thus, invalidating Rule G :1. For example, deleting the denition of the TYPE class (line 6) leaves a reference by list (line 8) to an undeclared entity class.