1. A method of modeling runtime behavior for a software application, comprising: limiting a portion of a run to be analyzed using criteria that define an analysis scenario; structuring events of said analysis scenario as a flow of logical content through a plurality of transformations of the logical content, independent of a physical structure of source code that is executing; applying labels to elements of said flow; and generating a behavior signature for said analysis scenario using a processor, the generating of the behavior signature being based on said labels and comprising aggregating execution flow information according to the plurality of transformations of the logical content, wherein the structuring of the events of the analysis scenario includes structuring the events into a hierarchy of data flow diagrams depicting a node representing a transformation of the plurality of transformations, the logical content which is an input to the node, and the logical content which is output from the node and has been transformed in the transformation, wherein said generating said behavior signature comprises aggregating metrics according to said labels, and wherein said aggregating metrics comprises using one of a physical resource cost as a metric, a number of transformations in said plurality of transformations as a metric of runtime complexity, and metrics drawn from properties of one of source code and system architecture.