In the diagrammatic reasoning area, I am interested in developing ways to automatically interpret the meaning of diagrams (such as entity-relationship diagrams and simple sketch maps), particularly when those diagrams are not well-formed. Interpretation of such diagrams requires that the interpreter make hypotheses about the intended meaning of different features of the diagram and manages how those hypotheses interact.
The long-term evolution of software systems is an important field of study, but the mechansims that drive it are poorly understood. Qualitative reasoning is a sub-field of AI that was developed to allow reliable reasoning in the face of incomplete knowledge. With colleagues, I am looking at ways of applying qualitative reasoning techniques to understanding software evolution.