When modifying a program, or when reviewing a modification of a program, you will want to consider at least the following:
- Tests
- Is the modification tested?
- Can you prove that the tests cover both the pre-modification and post-modification states of the program correctly? Do it.
- Interface
- Does the modification change the interface of the code?
- If so, are all possible callers prepared for the change?