Dynamic Reuse Metrics

Thesis Abstract

This thesis proposes a set of novel Dynamic Reuse Metrics based on run-time software profiling. The existing software reuse metrics are based on static analysis, and they are difficult to measure the degree of polymorphism, reuse redundancy and reused artifacts level. However all of them can be directly or indirectly measured by the proposed Dynamic Reuse Metrics. The Dynamic Reuse Metrics includes Polymorphic Behaviour Index which can measure the degree of polymorphism and inheritance; Reuse Level Propertion, which can measure the level of the reused artifacts; Average Call Sites and Call Distributions which can measure the degree of Reuse Redundancy. This research also develops a specialized profiling tool called E-MTRACE JVMTI Agent/Analyzer using a hybrid of C and Java. This tool allows the Dynamic Reuse Metrics to be measured. Using the tool, some case studies are carried out on real-world software such as Searchers and FTP- servers. Using the case studies, this thesis discusses, interprets and evaluates the performance of the Dynamic Reuse Metrics. The research concludes polymorphic behavior is highly representative. The Reuse Level Proportion is heading to the right direction but the metric model need refinement. The Average Call Sites and Call Distribution Metrics are affected by coupling and artifact granularity.