The Diary of a Datum: An Approach to Analyzing Runtime Complexity in Framework-Based Applications

In large-scale framework-based applications, every piece of information has a complex story to tell about its journey. As it makes its way through a tangle of reusable frameworks, it may be transformed from a string, to an Integer, to an integer, and finally to a date. Over the past several years, our research group has analyzed dozens of framework-based applications. We have found it increasingly difficult to understand behavior, weigh design tradeoffs, and assess if and how performance problems can be fixed. Often, simple functionality requires a seemingly excessive amount of runtime activity and complexity.

Much of this activity revolves around the transformation of information from one form to another. In this paper we present an approach to understanding runtime behavior that structures activity in these terms. We show strategies for grouping and filtering activity into a hierarchy of data flow diagrams representing transformations and the flow between them. The approach focuses the analysis on a user-defined scenario, and structures what otherwise would have been an overwhelming amount of information about a run. Next, we give a detailed example that illustrates this approach, and also demonstrates the complexities typically found in this class of application. Finally, we show how structuring the activity into a hierarchy of data flow diagrams allows us to introduce measures of complexity derived from the topology of the diagrams.

By: Nick Mitchell; Gary Sevitsky; Harini Srinivasan

Published in: RC23703 in 2005


This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.


Questions about this service can be mailed to .