Program, what do you
do?
Explaining software
Program understanding is
hard
Program explanation is
critical
The Dream
The (Harsh) Reality
How do people explain
their programs?
Modes of explanation
A tool to provide
explanations
A good software
explanation tool should…
Approach: Visualization
Approach: Cliché
Recognition
Approach: Indexing the
Design History
Approach: Ask the
programmer!
Contributions
Inspirations
Criteria of success