Smith, M.P., Munro, M., "Identifying Structural Features of Java Programs by Analysing the Interaction of Classes at Runtime", , 2005