Design Dynamic Coupling Measurement of Distributed Object Oriented Software Using Trace Events
Abstract
Problem statement: A common way to define and measure coupling is through structural properties and static code analysis. However, because of polymorphism, dynamic binding and the common presence of unused code in commercial software, the resulting coupling measures are imprecise as they do not perfectly reflect the actual coupling taking place among classes at run-time. For example, when using static analysis to measure coupling, it is difficult and sometimes impossible to determine what actual methods can be invoked from a client class if those methods are overridden in the subclasses of the server classes. Approach: Coupling measurement has traditionally been performed using static code analysis, because most of the existing work was done on non-object oriented code and because dynamic code analysis is more expensive and complex to perform. We refer to this type of coupling as dynamic coupling. In this study we propose a dynamic and efficient measurement technique over object oriented software. Result: We propose a hybrid model to measure the dynamic coupling present in distributed object oriented software. The proposed method has three steps; they are instrumentation process, post process and coupling measurement. First, the instrumentation process is performed. In this process, to trace method calls, a modified instrumented JVM has been used. During this process, three trace files, .prf, .clp and .svp are created. In the second step, the information present in these files, are merged. At the end of this step, the merged detailed trace of each Jvms contains pointers to the merged trace files of the other JVM’s such that the path of each remote call from the client to the server can be uniquely identified. Conclusion: Finally, the coupling metrics are measured dynamically. The proposed system was implemented in JAVA. The implementation results show that the proposed system effectively measures the dynamic coupling.
DOI: https://doi.org/10.3844/jcssp.2011.770.778
Copyright: © 2011 S. Babu and R. M.S. Parvathi. This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
- 3,170 Views
- 3,077 Downloads
- 2 Citations
Download
Keywords
- Static code
- dynamic code
- object oriented
- scientific method
- dynamic coupling
- theoretical model
- structural complexity
- oriented software
- Java Virtual Machine (JVM)