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