Step 1: Understanding activation trees.
An activation tree represents the hierarchy of procedure calls during program execution, where each node corresponds to a procedure invocation.
Step 2: Verification of Statement \( S_1 \).
In program execution, a procedure is recorded at the moment it is called, before its children are invoked. This corresponds exactly to a preorder traversal of the activation tree. Hence, \( S_1 \) is true.
Step 3: Verification of Statement \( S_2 \).
A procedure returns only after all its child calls have completed. This corresponds to a postorder traversal of the activation tree. Hence, \( S_2 \) is also true.
Step 4: Conclusion.
Since both statements are correct, the correct option is (C).