journal article Open Access Mar 30, 2020

Comparing Static and Dynamic Weighted Software Coupling Metrics

Computers Vol. 9 No. 2 pp. 24 · MDPI AG
View at Publisher Save 10.3390/computers9020024
Abstract
Coupling metrics that count the number of inter-module connections in a software system are an established way to measure internal software quality with respect to modularity. In addition to static metrics, which are obtained from the source or compiled code of a program, dynamic metrics use runtime data gathered, e.g., by monitoring a system in production. Dynamic metrics have been used to improve the accuracy of static metrics for object-oriented software. We study weighted dynamic coupling that takes into account how often a connection (e.g., a method call) is executed during a system’s run. We investigate the correlation between dynamic weighted metrics and their static counterparts. To compare the different metrics, 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.
Topics

No keywords indexed for this article. Browse by subject →

References
45
[1]
Yourdon, E.N. (1979). Structured Design. Classics in Software Engineering, Yourdon Press.
[2]
Chidamber, S.R., and Kemerer, C.F. (1991, January 6–11). Towards a Metrics Suite for Object Oriented Design. Proceedings of the OOPSLA ’91: Conference Proceedings on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), Phoenix, AZ, USA. 10.1145/117954.117970
[3]
Parnas "On the Criteria to Be Used in Decomposing Systems into Modules" Commun. ACM (1972) 10.1145/361598.361623
[4]
Bogner, J., Wagner, S., and Zimmermann, A. (2017, January 25–27). Automatically measuring the maintainability of service-and microservice-based systems: A literature review. Proceedings of the 27th International Workshop on Software Measurement and 12th International Conference on Software Process and Product Measurement, Gothenburg, Sweden. 10.1145/3143434.3143443
[5]
Using Cohesion and Coupling for Software Remodularization

Ivan Candela, Gabriele Bavota, Barbara Russo et al.

ACM Transactions on Software Engineering and Metho... 2016 10.1145/2928268
[6]
Carver "An Evaluation of the MOOD Set of Object-Oriented Software Metrics" IEEE Trans. Softw. Eng. (1998) 10.1109/32.689404
[7]
Chidamber "A Metrics Suite for Object Oriented Design" IEEE Trans. Softw. Eng. (1994) 10.1109/32.295895
[8]
Arisholm "Dynamic Coupling Measurement for Object-Oriented Software" IEEE Trans. Softw. Eng. (2004) 10.1109/tse.2004.41
[9]
Cornelissen "A Systematic Survey of Program Comprehension through Dynamic Analysis" IEEE Trans. Softw. Eng. (2009) 10.1109/tse.2009.28
[10]
Mitchell, B.S., and Mancoridis, S. (2001, January 6–10). Comparing the Decompositions Produced by Software Clustering Algorithms Using Similarity Measurements. Proceedings of the 2001 International Conference on Software Maintenance (ICSM 2001), Florence, Italy.
[11]
Atlassian (2020, March 30). JIRA Project and Issue Tracking. Available online: https://www.atlassian.com/software/jira/.
[12]
Schnoor, H., and Hasselbring, W. (2020, March 30). Jira Monitoring Data February 2017. Available online: https://doi.org/10.5281/zenodo.3648094.
[13]
Schnoor, H., and Hasselbring, W. (2020, March 30). Jira Monitoring Data September 2017. Available online: https://doi.org/10.5281/zenodo.3648228.
[14]
Schnoor, H., and Hasselbring, W. (2020, March 30). Jira Monitoring Data February 2018. Available online: https://doi.org/10.5281/zenodo.3648240.
[15]
Schnoor, H., and Hasselbring, W. (2020, March 30). Jira Monitoring Data September 2018. Available online: https://doi.org/10.5281/zenodo.3648269.
[16]
Gilpin "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. Meas. (1993) 10.1177/0013164493053001007
[17]
A NEW MEASURE OF RANK CORRELATION

M. G. Kendall

Biometrika 1938 10.1093/biomet/30.1-2.81
[18]
Briand "A Unified Framework for Coupling Measurement in Object-Oriented Systems" IEEE Trans. Softw. Eng. (1999) 10.1109/32.748920
[19]
van Hoorn, A., Waller, J., and Hasselbring, W. (2012, January 22–25). Kieker: A Framework for Application Performance Monitoring and Dynamic Software Analysis. Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering (ICPE 2012), Boston, MA, USA. 10.1145/2188286.2188326
[20]
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., and Griswold, W.G. (2001, January 18–22). An Overview of AspectJ. Proceedings of the ECOOP 2001—Object-Oriented Programming: 15th European Conference, Budapest, Hungary. 10.1007/3-540-45337-7_18
[21]
Briand "On the application of measurement theory in software engineering" Empir. Softw. Eng. (1996) 10.1007/bf00125812
[22]
Schnoor, H. (2020, March 30). Kieker Demo Reader. Available online: https://git.informatik.uni-kiel.de/hs/kieker-demo-reader.
[23]
Damasevicius "Comparing Static and Dynamic Weighted Software Coupling Metrics" Proceedings of the Information and Software Technologies—25th International Conference (ICIST 2019) (2019) 10.1007/978-3-030-30275-7_22
[24]
Fregnan "A survey on software coupling relations and tools" Inf. Softw. Technol. (2019) 10.1016/j.infsof.2018.11.008
[25]
Briand "Exploring the relationships between design measures and software quality in object-oriented systems" J. Syst. Softw. (2000) 10.1016/s0164-1212(99)00102-8
[26]
Nagappan, N., Ball, T., and Zeller, A. (2006, January 20–28). Mining metrics to predict component failures. Proceedings of the 28th International Conference on Software Engineering (ICSE 2006), Shanghai, China. 10.1145/1134285.1134349
[27]
Voas "What Happened to Software Metrics?" IEEE Comput. (2017) 10.1109/mc.2017.144
[28]
Misra "Framework for evaluation and validation of software complexity measures" IET Softw. (2012) 10.1049/iet-sen.2011.0206
[29]
Briand "Empirical Studies of Quality Models in Object-Oriented Systems" Adv. Comput. (2002) 10.1016/s0065-2458(02)80005-5
[30]
Offutt "Quantitatively measuring object-oriented couplings" Softw. Qual. J. (2008) 10.1007/s11219-008-9051-x
[31]
Allier, S., Vaucher, S., Dufour, B., and Sahraoui, H.A. (2010, January 12–13). Deriving Coupling Metrics from Call Graphs. Proceedings of the Tenth IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2010), Timisoara, Romania. 10.1109/scam.2010.25
[32]
Chhabra "A Survey of Dynamic Software Metrics" J. Comput. Sci. Technol. (2010) 10.1007/s11390-010-9384-3
[33]
Geetika "Dynamic Coupling Metrics for Object Oriented Software Systems: A Survey" SIGSOFT Softw. Eng. Notes (2014)
[34]
Yacoub, S.M., Ammar, H.H., and Robinson, T. (1999, January 4–6). Dynamic Metrics for Object Oriented Designs. Proceedings of the 6th IEEE International Software Metrics Symposium (METRICS 1999), Boca Raton, FL, USA.
[35]
Apache Software Foundation (2020, March 30). Commons BCEL: Byte Code Engineering Library. Available online: https://commons.apache.org/proper/commons-bcel/.
[36]
The Kieker Community (2020, March 30). Kieker. Available online: http://kieker-monitoring.net/.
[37]
Pahl, C. (2008, January 12–14). Kieker: Continuous Monitoring and on demand Visualization of Java Software Behavior. Proceedings of the IASTED International Conference on Software Engineering (SE’08), Innsbruck, Austria.
[38]
Waller "A Comparison of the Influence of Different Multi-Core Processors on the Runtime Overhead for Application-Level Monitoring" Proceedings of the International Conference on Multicore Software Engineering, Performance, and Tools (MSEPT 2012) (2012) 10.1007/978-3-642-31202-1_5
[39]
Ahmad, M.O., Markkula, J., and Oivo, M. (2013, January 4–6). Kanban in software development: A systematic literature review. Proceedings of the 2013 39th Euromicro Conference on Software Engineering and Advanced Applications, Santander, Spain. 10.1109/seaa.2013.28
[40]
Schulz "WESSBAS: Extraction of probabilistic workload specifications for load testing and performance prediction—A model-driven approach for session-based application systems" Softw. Syst. Model. (2018) 10.1007/s10270-016-0566-5
[41]
Shieh "A weighted Kendall’s tau statistic" Stat. Probab. Lett. (1998) 10.1016/s0167-7152(98)00006-6
[42]
Kumar, R., and Vassilvitskii, S. (2010, January 26). Generalized Distances Between Rankings. Proceedings of the 19th International Conference on World Wide Web (WWW ’10), New York, NY, USA. 10.1145/1772690.1772749
[43]
Shull, F., Singer, J., and Sjøberg, D.I. (2008). Reporting experiments in software engineering. Guide to Advanced Empirical Software Engineering, Springer. 10.1007/978-1-84800-044-5
[44]
Kirbas "The relationship between evolutionary coupling and defects in large industrial software" J. Softw. Evol. Process. (2017) 10.1002/smr.1842
[45]
Anuradha Chug, H.S. (2015, January 2–4). Dynamic Metrics are Superior than Static Metrics in Maintainability Prediction: An Empirical Case Study. Proceedings of the IEEE 2015 4th International Conference on Reliability, Infocom Technologies and Optimization (ICRITO) (Trends and Future Directions), Noida, India.
Cited By
9
Kieker: A monitoring framework for software engineering research

Wilhelm Hasselbring, André van Hoorn · 2020

Software Impacts
Metrics
9
Citations
45
References
Details
Published
Mar 30, 2020
Vol/Issue
9(2)
Pages
24
License
View
Cite This Article
Henning Schnoor, Wilhelm Hasselbring (2020). Comparing Static and Dynamic Weighted Software Coupling Metrics. Computers, 9(2), 24. https://doi.org/10.3390/computers9020024
Related

You May Also Like