Five terms are used here to describe the relationship of a given procedure to
other procedures in the same program. A procedure may have parents, ancestors,
children, descendants, and siblings, as follows:
- parent
A procedure that directly calls the given procedure.
- ancestor
A procedure that calls the given procedure, either
directly or through another procedure or procedures; all parents
are also ancestors.
- child
A procedure called directly by the given procedure.
- descendant
A procedure that is called by the given procedure,
either directly or through other procedures; all children are
also descendants.
- sibling
A procedure with the same parent as the given
procedure.
Title not available illustrates these relationships in the program vanderbilt for the procedure contractor.
To Puma, the relationships among procedures are dynamic, reflecting
the possibility that sometimes x may call y and later y may
call x. Puma analyzes your program as it is seen at run time; Puma
does not base the analysis on the lexical structure of the program as seen
at compile time.
For example, if a procedure calls an error-handling routine, Puma would
report the error-handling routine as a child of the procedure only if,
during the execution of the procedure, control actually branched to the
error-handling routine and a sample was taken during the execution of
the error-handling routine.