2009 · 34 citations · 24 references
ComputingComputer ScienceProject ManagementProgramming LanguagesSoftware EngineeringSystems ProgrammingBehavioral AnalysisObject-oriented AnalysisSoftware MetricsStatic AnalysisStatic Code AnalysisType CheckingData GatheringDynamic Code AnalysisDynamic Program AnalysisMetricsObject AllocationProfilingRuntime Type SystemsStatic Structure Analysis
Mainstream IDEs such as Eclipse support developers in managing software projects mainly by offering static views of the source code. Such a static perspective neglects any information about runtime behavior. However, object-oriented programs heavily rely on polymorphism and late-binding, which makes them difficult to understand just based on their static structure. Developers thus resort to debuggers or profilers to study the system's dynamics. However, the information provided by these tools is volatile and hence cannot be exploited to ease the navigation of the source space. In this paper we present an approach to augment the static source perspective with dynamic metrics such as precise runtime type information, or memory and object allocation statistics. Dynamic metrics can leverage the understanding for the behavior and structure of a system. We rely on dynamic data gathering based on aspects to analyze running Java systems. By solving concrete use cases we illustrate how dynamic metrics directly available in the IDE are useful. We also comprehensively report on the efficiency of our approach to gather dynamic metrics.
24
Least squares quantization in PCM
Sheelagh Lloyd · IEEE Transactions on Information Theory · 1982 · 15.6K citations · Full text
A framework for reducing the cost of instrumented code
Matthew Arnold, Barbara G. Ryder · 2001 · 366 citations · Full text
Mik Kersten, Gail C. Murphy · 2005 · 296 citations