Abstract
Coupling metrics are an established way to measure software architecture quality with respect to modularity. Static coupling metrics are obtained from the source or compiled code of a program, while dynamic metrics use runtime data gathered e.g., by monitoring a system in production. We study weighted dynamic coupling that takes into account how often a connection is executed during a system’s run. We investigate the correlation between dynamic weighted metrics and their static counterparts. We use data collected from four different experiments, each monitoring production use of a commercial software system over a period of four weeks. We observe an unexpected level of correlation between the static and the weighted dynamic case as well as revealing differences between class- and package-level analyses.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
See [19] for a discussion of the relationship between this metric and Spearman’s correlation.
- 2.
A replication package inlcuding the collected data of our experiments will soon be published on Zenodo, to allow other researchers to repeat and extend our work.
References
Ahmad, M.O., Markkula, J., Oivo, M.: Kanban in software development: a systematic literature review. In: 2013 39th Euromicro Conference on Software Engineering and Advanced Applications, pp. 9–16, September 2013. https://doi.org/10.1109/SEAA.2013.28
Allier, S., Vaucher, S., Dufour, B., Sahraoui, H.A.: Deriving coupling metrics from call graphs. In: Tenth IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2010, Timisoara, Romania, pp. 43–52, 12–13 September 2010. IEEE Computer Society (2010). https://doi.org/10.1109/SCAM.2010.25
Chug, A., Sharma, H.: Dynamic metrics are superior than static metrics in maintainability prediction: an empirical case study. In: 2015 4th International Conference on Reliability, Infocom Technologies and Optimization (ICRITO)(Trends and Future Directions), pp. 1–6. IEEE (2015)
Apache Software Foundation: Commons BCEL: Byte code engineering library (2016). https://commons.apache.org/proper/commons-bcel/
Arisholm, E., Briand, L.C., Føyen, A.: Dynamic coupling measurement for object-oriented software. IEEE Trans. Software Eng. 30(8), 491–506 (2004). https://doi.org/10.1109/TSE.2004.41
Atlassian: JIRA project and issue tracking (2017). https://www.atlassian.com/software/jira/
Bogner, J., Wagner, S., Zimmermann, A.: Automatically measuring the maintainability of service-and microservice-based systems: a literature review. In: Proceedings of the 27th International Workshop on Software Measurement and 12th International Conference on Software Process and Product Measurement, pp. 107–115. ACM (2017)
Briand, L., Emam, K.E., Morasca, S.: On the application of measurement theory in software engineering. Empirical Softw. Eng. 1(1), 61–88 (1996). https://doi.org/10.1007/BF00125812
Briand, L.C., Wüst, J.: Empirical studies of quality models in object-oriented systems. Adv. Comput. 56, 97–166 (2002). https://doi.org/10.1016/S0065-2458(02)80005-5
Briand, L.C., Wüst, J., Daly, J.W., Porter, D.V.: Exploring the relationships between design measures and software quality in object-oriented systems. J. Syst. Softw. 51(3), 245–273 (2000). https://doi.org/10.1016/S0164-1212(99)00102-8
Candela, I., Bavota, G., Russo, B., Oliveto, R.: Using cohesion and coupling for software remodularization: is it enough? ACM Trans. Softw. Eng. Methodol. 25(3), 24:1–24:28 (2016). https://doi.org/10.1145/2928268
Carver, R.H., Counsell, S., Nithi, R.V.: An evaluation of the MOOD set of object-oriented software metrics. IEEE Trans. Software Eng. 24(6), 491–496 (1998). https://doi.org/10.1109/32.689404
Chhabra, J.K., Gupta, V.: A survey of dynamic software metrics. J. Comput. Sci. Technol. 25(5), 1016–1029 (2010). https://doi.org/10.1007/s11390-010-9384-3
Chidamber, S.R., Kemerer, C.F.: Towards a metrics suite for object oriented design. In: OOPSLA, pp. 197–211. ACM (1991)
Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Software Eng. 20(6), 476–493 (1994). https://doi.org/10.1109/32.295895
Cornelissen, B., Zaidman, A., van Deursen, A., Moonen, L., Koschke, R.: A systematic survey of program comprehension through dynamic analysis. IEEE Trans. Software Eng. 35(5), 684–702 (2009)
Fregnan, E., Baum, T., Palomba, F., Bacchelli, A.: A survey on software coupling relations and tools. Inf. Softw. Technol. 107, 159–178 (2019). https://doi.org/10.1016/j.infsof.2018.11.008
Geetika, R., Singh, P.: Dynamic coupling metrics for object oriented software systems: a survey. SIGSOFT Softw. Eng. Notes 39(2), 1–8 (2014). https://doi.org/10.1145/2579281.2579296
Gilpin, A.R.: Table for conversion of Kendall’s tau to Spearman’s rho within the context of measures of magnitude of effect for meta-analysis. Educ. Psychol. Measur. 53, 87–92 (1993). https://doi.org/10.1177/0013164493053001007
van Hoorn, A., Waller, J., Hasselbring, W.: Kieker: a framework for application performance monitoring and dynamic software analysis. In: Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering (ICPE 2012), pp. 247–248. ACM, April 2012. https://doi.org/10.1145/2188286.2188326
Kendall, M.G.: A new measure of rank correlation. Biometrika 30(1/2), 81–93 (1938)
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of aspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–354. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45337-7_18
Kirbas, S., et al.: The relationship between evolutionary coupling and defects in large industrial software. J. Softw. Evol. Process 29(4), e1842-n/a (2017). https://doi.org/10.1002/smr.1842,e1842smr.1842
Knoche, H., Hasselbring, W.: Drivers and barriers for microservice adoption - a survey among professionals in Germany. Enterpr. Model. Inf. Syst. Architectures (EMISAJ-Int. J. Conceptual Model.) 14(1), 1–35 (2019). https://doi.org/10.18417/emisa.14.1
Misra, S., Akman, I., Palacios, R.C.: Framework for evaluation and validation of software complexity measures. IET Software 6(4), 323–334 (2012). https://doi.org/10.1049/iet-sen.2011.0206
Mitchell, B.S., Mancoridis, S.: Comparing the decompositions produced by software clustering algorithms using similarity measurements. In: 2001 International Conference on Software Maintenance, ICSM 2001, Florence, Italy, pp. 744–753, 6–10 November 2001. IEEE Computer Society (2001). https://doi.org/10.1109/ICSM.2001.972795
Nagappan, N., Ball, T., Zeller, A.: Mining metrics to predict component failures. In: Proceedings of the 28th international conference on Software engineering (ICSE 2006), pp. 452–461. ACM (2006). https://doi.org/10.1145/1134285.1134349
Offutt, J., Abdurazik, A., Schach, S.R.: Quantitatively measuring object-oriented couplings. Software Qual. J. 16(4), 489–512 (2008). https://doi.org/10.1007/s11219-008-9051-x
Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972). https://doi.org/10.1145/361598.361623
Schnoor, H., Hasselbring, W.: Toward measuring software coupling via weighted dynamic metrics. In: Chaudron, M., Crnkovic, I., Chechik, M., Harman, M. (eds.) Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings, ICSE 2018, Gothenburg, Sweden, pp. 342–343, May 27 - June 03 2018. ACM (2018). https://doi.org/10.1145/3183440.3195000
Stevens, W., Myers, G., Constantine, L.: Structured design. In: Yourdon, E.N. (ed.) Classics in Software Engineering, pp. 205–232. Yourdon Press, Upper Saddle River (1979)
Voas, J.M., Kuhn, R.: What happened to software metrics? IEEE Comput. 50(5), 88–98 (2017). https://doi.org/10.1109/MC.2017.144
Yacoub, S.M., Ammar, H.H., Robinson, T.: Dynamic metrics for object oriented designs. In: 6th IEEE International Software Metrics Symposium (METRICS 1999), Boca Raton, FL, USA, pp. 50–61, 4–6 November 1999. IEEE Computer Society (1999). https://doi.org/10.1109/METRIC.1999.809725
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Schnoor, H., Hasselbring, W. (2019). Comparing Static and Dynamic Weighted Software Coupling Metrics. In: Damaševičius, R., Vasiljevienė, G. (eds) Information and Software Technologies. ICIST 2019. Communications in Computer and Information Science, vol 1078. Springer, Cham. https://doi.org/10.1007/978-3-030-30275-7_22
Download citation
DOI: https://doi.org/10.1007/978-3-030-30275-7_22
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-30274-0
Online ISBN: 978-3-030-30275-7
eBook Packages: Computer ScienceComputer Science (R0)