Summary
Most programmer support tools are organized around the syntax of the program being developed or maintained
They can be useful in answering what questions
Answering why questions requires knowledge of the problem that the program is trying to solve
Domain analysis and domain models can organize problem analysis in support of program understanding
A variety of representations and tools can support the domain based program understanding process