Dynamic metrics for java
- 26 October 2003
- conference paper
- Published by Association for Computing Machinery (ACM)
- Vol. 38 (11) , 149-168
- https://doi.org/10.1145/949305.949320
Abstract
In order to perform meaningful experiments in optimizing compilation and run-time system design, researchers usually rely on a suite of benchmark programs of interest to the optimization technique under consideration. Programs are described as numeric, memory-intensive, concurrent, or object-oriented, based on a qualitative appraisal, in some cases with little justification. We believe it is beneficial to quantify the behaviour of programs with a concise and precisely defined set of metrics, in order to make these intuitive notions of program behaviour more concrete and subject to experimental validation. We therefore define and measure a set of unambiguous, dynamic, robust and architecture-independent metrics that can be used to categorize programs according to their dynamic behaviour in five areas: size, data structure, memory use, concurrency, and polymorphism. A framework computing some of these metrics for Java programs is presented along with specific results demonstrating how to use metric data to understand a program's behaviour, and both guide and evaluate compiler optimizations.Keywords
This publication has 23 references indexed in Scilit:
- A dynamic software metric and debugging toolACM SIGSOFT Software Engineering Notes, 2003
- Lock reservationPublished by Association for Computing Machinery (ACM) ,2002
- Characterizing the memory behavior of Java workloadsPublished by Association for Computing Machinery (ACM) ,2001
- Efficient representations and abstractions for quantifying and exploiting data reference localityPublished by Association for Computing Machinery (ACM) ,2001
- Using annotations to reduce dynamic optimization timePublished by Association for Computing Machinery (ACM) ,2001
- On the importance of points-to analysis and other memory disambiguation methods for C programsPublished by Association for Computing Machinery (ACM) ,2001
- Optimization of Object-Oriented Programs Using Static Class Hierarchy AnalysisPublished by Springer Nature ,2000
- Using complete system simulation to characterize SPECjvm98 benchmarksPublished by Association for Computing Machinery (ACM) ,2000
- Thin locksPublished by Association for Computing Machinery (ACM) ,1998
- Eliminating virtual function calls in C++ programsPublished by Springer Nature ,1996