•Software Engineering
–Better tools for program
comprehension
–
•Design Rationale
–Reverse engineering
–What information should we be capturing during design?
–
•Artificial Intelligence
–Hierarchical recognition of design
patterns in structure
and behavior of software