The (Harsh) Reality
• This is the inverse problem of design
– Reverse engineering
• Nobody writes documentation
• Self-documenting:  a myth?
– Programmers can’t explain their own code
• Software is huge
– A popular OS: 35M+ lines of code