Our ECOOP'11 paper introduces a novel metric, algorithmic essence, that quantifies the amount of indirection of behavior in a software system. The paper also shows how to automatically identify the algorithmically essential parts of such a system.
Our MODELS'11 paper uses the duality between behavior and structure to introduce structural essence, and it lifts this idea from the level of concrete implementations to the level of abstract models.
Use our essentializer to compute the essence of your Java code or UML model.