Understanding the shape of Java software. - Gareth Baxter; Marcus R. Frean; James Noble 001; Mark Rickerby; Hayden Smith; Matt Visser; Hayden Melton; Ewan D. Tempero (OOPSLA, 2006)