A Survey of Dynamic Software Metrics <s> Mitchell and Power Metrics Suite <s> The relationships between coupling and external quality factors of object-oriented software have been studied extensively for the past few years. For example, several studies have identified clear empirical relationships between class-level coupling and the fault-proneness of the classes. A common way to quantify the coupling is through static code analysis. However, the resulting static coupling measures only capture certain underlying dimensions of coupling. Other dependencies regarding the dynamic behavior of software can only be inferred from run-time information. For example, due to inheritance and polymorphism, it is not always possible to determine the actual receiver and sender classes (i.e., the objects) from static code analysis. This paper describes how several dimensions of dynamic coupling can be calculated by tracing the flow of messages between objects at run-time. As a first evaluation of the proposed dynamic coupling measures, fairly accurate prediction models of the change proneness of classes have been developed using change data from nine maintenance releases of a large SmallTalk system. Preliminary results suggest that dynamic coupling may also be useful for developing prediction models and tools supporting change impact analysis. At present, work on developing a dynamic coupling tracer and ripple-effect prediction models for Java programs is underway. <s> BIB001 </s> A Survey of Dynamic Software Metrics <s> Mitchell and Power Metrics Suite <s> In this paper we present an investigation into the run-time behaviour of objects in Java programs, using specially adapted coupling metrics. We identify objects from the same class that exhibit non-uniform coupling behaviour when measured dynamically.We define a number of object level run-time metrics, based on the static Chidamber and Kemerer coupling between objects (CBO) measure. These new metrics seek to quantify coupling at different layers of granularity, that is at class-class and object-class level. We outline our method of collecting such metrics and present a study of the programs from the JOlden benchmark suite as an example of their use.A number of statistical techniques, principally agglomerative hierarchical clustering analysis, are used to facilitate the identification of such objects. <s> BIB002 </s> A Survey of Dynamic Software Metrics <s> Mitchell and Power Metrics Suite <s> This paper examines the relationship between the static coupling between objects (CBO) metric and some of its dynamic counterparts. The dimensions of the relationship for Java programs are investigated, and the influence of instruction coverage on this relationship is measured. An empirical evaluation of 14 Java programs taken from the SPEC JVM98 and the JOlden benchmark suites is conducted using the static CBO metric, six dynamic metrics and instruction coverage data.The results presented here confirm preliminary studies indicating the independence of static and dynamic coupling metrics, but point to a strong influence of coverage on the relationship. Based on this, this paper suggests that dynamic coupling metrics might be better interpreted in the context of coverage measures, rather than as stand-alone software metrics. <s> BIB003
As discussed above, Arisholm et al. measure the amount of import and export coupling between objects at different levels, whereas Mitchell and Power BIB002 BIB003 propose to measure degree of import and export coupling between objects. Mitchell and Power define a set of dynamic coupling metrics as given in Table 4 . The first three metrics in Table 4 are defined on the basis of static coupling metric, CBO  . They are designed to apply to an application at runtime and provide a means to evaluate class level coupling. The next four metrics (R I , R E , RD I , RD E ) in Table 4 are defined to evaluate object level dynamic coupling. The metrics RD I and RD E are an improvement over metrics R I and R E as they are normalized and may be more useful in comparing classes of different sizes. Mitchell and Power in BIB003 examine the relationship between static and dynamic coupling metrics in the context of the influence of instruction coverage. The main measures used in this study are the static coupling metric (CBO), six dynamic metrics (IC CD, IC CM, IC CC, EC CD, EC CM, EC CC) proposed by Arisholm et al. BIB001 and instruction coverage measure (I c ). The instruction coverage measure I c corresponds to the Java bytecode instructions. The results of study indicate strong influence of coverage measures on the correlation between static and dynamic metrics.