McGill

Dynamic Software Metrics

Last updated: January 19, 2003
Sable


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 behavior of programs with a concise and precisely defined set of metrics, in order to make these intuitive notions of program behavior more concrete and subject to experimental validation. We therefore define a set of unambiguous, dynamic, robust and architecture independent metrics that can be used to categorize programs according to their dynamic behavior in five areas: size, data structure, memory use, concurrency, and polymorphism.


News


Back to Top


Documentation

Publications

Information about the dynamic metrics is available as Sable Technical Report 2002-11.

 > full text: PDF   PostScript


Back to Top


Related Projects

A number of other projects at Sable are related to dynamic metrics, softare understanding or collection of event trace data.

AdaptJ

AdaptJ is a toolkit which allows to record and analyze dynamic execution traces for Java programs. It is used to compute the dynamic software metrics that are reported here.

More information is available at: http://www.sable.mcgill.ca/~bdufou1/AdaptJ/

EVolve

EVolve is a system for visualizing trace data in a variety of ways.

More information is available at: http://www.sable.mcgill.ca/evolve/

STEP

STEP is a system for encoding and compressing program traces in a flexible format.

More information is available at: http://www.sable.mcgill.ca/step/


Back to Top