Skip to main content
Top
Published in: Software Quality Journal 3/2018

05-06-2017

Dynamic structure measurement for distributed software

Authors: Wuxia Jin, Ting Liu, Yu Qu, Qinghua Zheng, Di Cui, Jianlei Chi

Published in: Software Quality Journal | Issue 3/2018

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

With the advent of network technologies and the ultra-fast increasing of computing ability, the distributed architecture has become a necessity for the majority of software systems. However, it is difficult for current architecture measurements to evaluate distributed systems, such as cohesion and coupling. Most current methods focus on the relations among various classes or packages but barely consider the structure at component level, which has a serious impact on change impact analysis, fault diagnosis, or other maintenance activities. In this paper, we propose a dynamic structure measurement for distributed software. The intra-component and inter-component dependencies are introduced into a Calling Network model to further represent distributed software. More importantly, based on the Kieker monitoring framework, the measurement methods are proposed and implemented for distributed software. Two structural quality attributes cohesion factor of component (CHC) and coupling factor of component (CPC) are measured. Finally, case studies are conducted on two open-source distributed systems: RSS Reader Recipes and the distributed version of iBATIS JPetStore. By applying the proposed methods and comparing with the existing ones, the features of CHC and CPC can be assessed and observed for distributed software.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Literature
go back to reference Al Dallal, J. (2010). Mathematical validation of object-oriented class cohesion metrics. International Journal of Computers, 4(2), 45–52. Al Dallal, J. (2010). Mathematical validation of object-oriented class cohesion metrics. International Journal of Computers, 4(2), 45–52.
go back to reference Allen, E.B., Khoshgoftaar, T.M., & Chen, Y. (2001). Measuring coupling and cohesion of software modules: an information-theory approach, International symposium on software metrics (p. 124). Allen, E.B., Khoshgoftaar, T.M., & Chen, Y. (2001). Measuring coupling and cohesion of software modules: an information-theory approach, International symposium on software metrics (p. 124).
go back to reference Arisholm, E., Briand, L.C., & Foyen, A. (2002). Dynamic coupling measurement for object-oriented software. IEEE Transactions on Software Engineering, 30(8), 33–42. Arisholm, E., Briand, L.C., & Foyen, A. (2002). Dynamic coupling measurement for object-oriented software. IEEE Transactions on Software Engineering, 30(8), 33–42.
go back to reference Athanasopoulos, D., Zarras, A., Miskos, G., Issarny, V., & Vassiliadis, P. (2014). Cohesion-driven decomposition of service interfaces without access to source code. IEEE Transactions on Services Computing, 8(4), 1–1. Athanasopoulos, D., Zarras, A., Miskos, G., Issarny, V., & Vassiliadis, P. (2014). Cohesion-driven decomposition of service interfaces without access to source code. IEEE Transactions on Services Computing, 8(4), 1–1.
go back to reference Bavota, G., Dit, B., Oliveto, R., Penta, M.D., Poshyvanyk, D., & Lucia, A.D. (2013). An empirical study on the developers’ perception of software coupling, International conference on software engineering (pp. 692–701). Bavota, G., Dit, B., Oliveto, R., Penta, M.D., Poshyvanyk, D., & Lucia, A.D. (2013). An empirical study on the developers’ perception of software coupling, International conference on software engineering (pp. 692–701).
go back to reference Bieman, J.M., & Ott, L.M. (1994). Measuring functional cohesion. IEEE Transactions on Software Engineering, 20(8), 644–657.CrossRef Bieman, J.M., & Ott, L.M. (1994). Measuring functional cohesion. IEEE Transactions on Software Engineering, 20(8), 644–657.CrossRef
go back to reference Briand, L.C., Daly, J.W., & Wüst, J. (1998). A unified framework for cohesion measurement in object-oriented systems. Empirical Software Engineering, 3(1), 43–53.CrossRef Briand, L.C., Daly, J.W., & Wüst, J. (1998). A unified framework for cohesion measurement in object-oriented systems. Empirical Software Engineering, 3(1), 43–53.CrossRef
go back to reference Briand, L.C., Morasca, S., & Basili, V.R. (1999). Defining and validating measures for object-based high-level design. IEEE Transactions on Software Engineering, 25(5), 722–743.CrossRef Briand, L.C., Morasca, S., & Basili, V.R. (1999). Defining and validating measures for object-based high-level design. IEEE Transactions on Software Engineering, 25(5), 722–743.CrossRef
go back to reference Cai, H., & Thain, D. (2016). Distia: a cost-effective dynamic impact analysis for distributed programs, IEEE/ACM international conference on automated software engineering (pp. 344–355). Cai, H., & Thain, D. (2016). Distia: a cost-effective dynamic impact analysis for distributed programs, IEEE/ACM international conference on automated software engineering (pp. 344–355).
go back to reference Chidamber, S.R. (1991). Towards a metrics suite for object oriented design, Proceedings of the conference on OOPSLA’91, Sigplan Notices. Chidamber, S.R. (1991). Towards a metrics suite for object oriented design, Proceedings of the conference on OOPSLA’91, Sigplan Notices.
go back to reference Chidamber, S.R., & Kemerer, C.F. (1994). A metrics suite for object oriented design. IEEE Transactions on Software Engineering, 20(6), 476–493.CrossRef Chidamber, S.R., & Kemerer, C.F. (1994). A metrics suite for object oriented design. IEEE Transactions on Software Engineering, 20(6), 476–493.CrossRef
go back to reference Coulouris, G., Dollimore, G., Kindberg, J., & Blair, T. (2012). Distributed systems: concepts and design (5th edition). Coulouris, G., Dollimore, G., Kindberg, J., & Blair, T. (2012). Distributed systems: concepts and design (5th edition).
go back to reference Counsell, S., Swift, S., & Crampton, J. (2006). The interpretation and utility of three cohesion metrics for object-oriented design. ACM Transactions on Software Engineering and Methodology, 15(2), 123–149.CrossRef Counsell, S., Swift, S., & Crampton, J. (2006). The interpretation and utility of three cohesion metrics for object-oriented design. ACM Transactions on Software Engineering and Methodology, 15(2), 123–149.CrossRef
go back to reference Dallal, J.A., & Briand, L.C. (2012). A precise method-method interaction-based cohesion metric for object-oriented classes. ACM Transactions on Software Engineering and Methodology, 21(2), 1–34.CrossRef Dallal, J.A., & Briand, L.C. (2012). A precise method-method interaction-based cohesion metric for object-oriented classes. ACM Transactions on Software Engineering and Methodology, 21(2), 1–34.CrossRef
go back to reference Desouky, A.F., & Etzkorn, L.H. (2014). Object oriented cohesion metrics: a qualitative empirical analysis of runtime behavior, ACM southeast regional conference (pp. 1–6). Desouky, A.F., & Etzkorn, L.H. (2014). Object oriented cohesion metrics: a qualitative empirical analysis of runtime behavior, ACM southeast regional conference (pp. 1–6).
go back to reference Elish, M.O. (2010). Exploring the relationships between design metrics and package understandability: a case study, The 18th IEEE international conference on program comprehension, ICPC 2010, Braga, Minho, Portugal, June 30–July 2, 2010 (pp. 144–147). Elish, M.O. (2010). Exploring the relationships between design metrics and package understandability: a case study, The 18th IEEE international conference on program comprehension, ICPC 2010, Braga, Minho, Portugal, June 30–July 2, 2010 (pp. 144–147).
go back to reference Geetika, R., & Singh, P. (2014). Empirical investigation into static and dynamic coupling metrics. ACM SIGSOFT Software Engineering Notes, 39(1), 1–8.CrossRef Geetika, R., & Singh, P. (2014). Empirical investigation into static and dynamic coupling metrics. ACM SIGSOFT Software Engineering Notes, 39(1), 1–8.CrossRef
go back to reference Gethers, M., & Poshyvanyk, D. (2010). Using relational topic models to capture coupling among classes in object-oriented software systems, 26th IEEE international conference on software maintenance (ICSM2010) (pp. 1–10). Gethers, M., & Poshyvanyk, D. (2010). Using relational topic models to capture coupling among classes in object-oriented software systems, 26th IEEE international conference on software maintenance (ICSM2010) (pp. 1–10).
go back to reference Gupta, V., & Chhabra, J.K. (2011). Dynamic cohesion measures for object-oriented software. Journal of Systems Architecture - Embedded Systems Design, 57(4), 452–462. Gupta, V., & Chhabra, J.K. (2011). Dynamic cohesion measures for object-oriented software. Journal of Systems Architecture - Embedded Systems Design, 57(4), 452–462.
go back to reference Hoorn, A.V., Waller, J., & Hasselbring, W. (2012). Kieker: a framework for application performance monitoring and dynamic software analysis, Proceedings of the 3rd ACM/SPEC international conference on performance engineering (pp. 247–248). Hoorn, A.V., Waller, J., & Hasselbring, W. (2012). Kieker: a framework for application performance monitoring and dynamic software analysis, Proceedings of the 3rd ACM/SPEC international conference on performance engineering (pp. 247–248).
go back to reference Indrajit Wijegunaratnec, M., & Fernandez, G. (1998). Distributed applications engineering. London: Springer.CrossRef Indrajit Wijegunaratnec, M., & Fernandez, G. (1998). Distributed applications engineering. London: Springer.CrossRef
go back to reference Jin, W., Liu, T., Qu, Y., Chi, J., Cui, D., & Zheng, Q. (2016). Dynamic cohesion measurement for distributed system, The international workshop on specification, comprehension, testing, and debugging of concurrent programs (pp. 20–26). Jin, W., Liu, T., Qu, Y., Chi, J., Cui, D., & Zheng, Q. (2016). Dynamic cohesion measurement for distributed system, The international workshop on specification, comprehension, testing, and debugging of concurrent programs (pp. 20–26).
go back to reference Lee, Y.S., & Liang, B.S. (1995). Measuring the coupling and cohesion of an object-oriented program based on information flow, Proceedings of international conference on software quality. Lee, Y.S., & Liang, B.S. (1995). Measuring the coupling and cohesion of an object-oriented program based on information flow, Proceedings of international conference on software quality.
go back to reference Lin, Y., Peng, X., Cai, Y., Dig, D., Zheng, D., & Zhao, W. (2016). Interactive and guided architectural refactoring with search-based recommendation, Proceedings of the 2016 24th ACM SIGSOFT international symposium on foundations of software engineering (FSE). Lin, Y., Peng, X., Cai, Y., Dig, D., Zheng, D., & Zhao, W. (2016). Interactive and guided architectural refactoring with search-based recommendation, Proceedings of the 2016 24th ACM SIGSOFT international symposium on foundations of software engineering (FSE).
go back to reference Marwede, N., Rohr, M., Hoorn, A., & Hasselbring, W. (2009). Automatic failure diagnosis support in distributed large-scale software systems based on timing behavior anomaly correlation, European conference on software maintenance and reengineering (pp. 47–58). Marwede, N., Rohr, M., Hoorn, A., & Hasselbring, W. (2009). Automatic failure diagnosis support in distributed large-scale software systems based on timing behavior anomaly correlation, European conference on software maintenance and reengineering (pp. 47–58).
go back to reference Mathur, R., Keen, K.J., & Etzkorn, L.H. (2011). Towards a measure of object oriented runtime cohesion based on number of instance variable accesses, Southeast regional conference 2011, Kennesaw, GA, USA (pp. 255–257). Mathur, R., Keen, K.J., & Etzkorn, L.H. (2011). Towards a measure of object oriented runtime cohesion based on number of instance variable accesses, Southeast regional conference 2011, Kennesaw, GA, USA (pp. 255–257).
go back to reference Mitchell, Á., & Power, J.F. (2004). An empirical investigation into the dimensions of run-time coupling in Java programs. In Proceedings of the 3rd international symposium on principles and practice of programming in Java (pp. 9–14). Trinity College Dublin. Mitchell, Á., & Power, J.F. (2004). An empirical investigation into the dimensions of run-time coupling in Java programs. In Proceedings of the 3rd international symposium on principles and practice of programming in Java (pp. 9–14). Trinity College Dublin.
go back to reference Nayrolles, M., Moha, N., & Valtchev, P. (2013). Improving soa antipatterns detection in service based systems by mining execution traces, Working conference on reverse engineering (WCRE) (pp. 321– 330). Nayrolles, M., Moha, N., & Valtchev, P. (2013). Improving soa antipatterns detection in service based systems by mining execution traces, Working conference on reverse engineering (WCRE) (pp. 321– 330).
go back to reference Nguyen, H., Shen, Z., Tan, Y., & Gu, X. (2013). Fchain: toward black-box online fault localization for cloud systems. In 2013 IEEE 33rd international conference on distributed computing systems (ICDCS) (Vol. 7973, pp. 21–30). Nguyen, H., Shen, Z., Tan, Y., & Gu, X. (2013). Fchain: toward black-box online fault localization for cloud systems. In 2013 IEEE 33rd international conference on distributed computing systems (ICDCS) (Vol. 7973, pp. 21–30).
go back to reference Perepletchikov, M., & Ryan, C. (2011). A controlled experiment for evaluating the impact of coupling on the maintainability of service-oriented software. IEEE Transactions on Software Engineering, 37(4), 449–465.CrossRef Perepletchikov, M., & Ryan, C. (2011). A controlled experiment for evaluating the impact of coupling on the maintainability of service-oriented software. IEEE Transactions on Software Engineering, 37(4), 449–465.CrossRef
go back to reference Perepletchikov, M., Ryan, C., Frampton, K., & Tari, Z. (2007). Coupling metrics for predicting maintainability in service-oriented designs, Australian software engineering conference (pp. 329–340). Perepletchikov, M., Ryan, C., Frampton, K., & Tari, Z. (2007). Coupling metrics for predicting maintainability in service-oriented designs, Australian software engineering conference (pp. 329–340).
go back to reference Poshyvanyk, D., & Marcus, A. (2006). The conceptual coupling metrics for object-oriented systems, IEEE international conference on software maintenance (pp. 469–478). Poshyvanyk, D., & Marcus, A. (2006). The conceptual coupling metrics for object-oriented systems, IEEE international conference on software maintenance (pp. 469–478).
go back to reference Poshyvanyk, D., Marcus, A., Ferenc, R., & Gyimóthy, T. (2009). Using information retrieval based coupling measures for impact analysis. Empirical Software Engineering, 14(1), 5–32.CrossRef Poshyvanyk, D., Marcus, A., Ferenc, R., & Gyimóthy, T. (2009). Using information retrieval based coupling measures for impact analysis. Empirical Software Engineering, 14(1), 5–32.CrossRef
go back to reference Qu, Y., Guan, X., Zheng, Q., Liu, T., Wang, L., Hou, Y., & Yang, Z. (2015a). Exploring community structure of software call graph and its applications in class cohesion measurement. Journal of Systems and Software, 108, 193–210.CrossRef Qu, Y., Guan, X., Zheng, Q., Liu, T., Wang, L., Hou, Y., & Yang, Z. (2015a). Exploring community structure of software call graph and its applications in class cohesion measurement. Journal of Systems and Software, 108, 193–210.CrossRef
go back to reference Qu, Y., Guan, X., Zheng, Q., Liu, T., Zhou, J., & Li, J. (2015b). Calling network: a new method for modeling software runtime behaviors. ACM SIGSOFT Software Engineering Notes, 40(1), 1–8.CrossRef Qu, Y., Guan, X., Zheng, Q., Liu, T., Zhou, J., & Li, J. (2015b). Calling network: a new method for modeling software runtime behaviors. ACM SIGSOFT Software Engineering Notes, 40(1), 1–8.CrossRef
go back to reference Sellers, B.H. (1995). Object-oriented metrics measures of complexity. Prentice-Hall Inc. Sellers, B.H. (1995). Object-oriented metrics measures of complexity. Prentice-Hall Inc.
go back to reference Stevens, W.P., Myers, G.J., & Constantive, L.L. (1974). Structured design. Ibm Systems Journal, 13(2), 115–139.CrossRef Stevens, W.P., Myers, G.J., & Constantive, L.L. (1974). Structured design. Ibm Systems Journal, 13(2), 115–139.CrossRef
go back to reference Tahir, A., & Macdonell, S.G. (2012). A systematic mapping study on dynamic metrics and software quality. In 28th IEEE international conference on software maintenance, 2012 Vol. 9, no. 3, pp. 326–335. Tahir, A., & Macdonell, S.G. (2012). A systematic mapping study on dynamic metrics and software quality. In 28th IEEE international conference on software maintenance, 2012 Vol. 9, no. 3, pp. 326–335.
go back to reference Tanenbaum, A.S., & Steen, M.V. (2002). Distributed systems: principles and paradigms (pp. 279–283). Tsinghua University Press. Tanenbaum, A.S., & Steen, M.V. (2002). Distributed systems: principles and paradigms (pp. 279–283). Tsinghua University Press.
go back to reference Wang, H., Liu, T., Guan, X., Shen, C., Zheng, Q., & Yang, Z. (2017). Dependence guided symbolic execution. IEEE Transactions on Software Engineering, 43(3), 252–271.CrossRef Wang, H., Liu, T., Guan, X., Shen, C., Zheng, Q., & Yang, Z. (2017). Dependence guided symbolic execution. IEEE Transactions on Software Engineering, 43(3), 252–271.CrossRef
go back to reference Yacoub, S.M., Ammar, H.H., & Robinson, T. (1999). Dynamic metrics for object oriented designs, Proceedings of the 6th international software metrics symposium, 1999 (pp. 50–50). Yacoub, S.M., Ammar, H.H., & Robinson, T. (1999). Dynamic metrics for object oriented designs, Proceedings of the 6th international software metrics symposium, 1999 (pp. 50–50).
go back to reference Ying, A.T.T., Murphy, G.C., Ng, R., & Chu-Carroll, M.C. (2004). Predicting source code changes by mining change history. IEEE Transactions on Software Engineering, 30(9), 574–586.CrossRef Ying, A.T.T., Murphy, G.C., Ng, R., & Chu-Carroll, M.C. (2004). Predicting source code changes by mining change history. IEEE Transactions on Software Engineering, 30(9), 574–586.CrossRef
go back to reference Zhou, Y., Lu, J., & Xu, H.L.B. (2004). A comparative study of graph theory-based class cohesion measures. ACM SIGSOFT Software Engineering Notes, 29 (2), 13–13.CrossRef Zhou, Y., Lu, J., & Xu, H.L.B. (2004). A comparative study of graph theory-based class cohesion measures. ACM SIGSOFT Software Engineering Notes, 29 (2), 13–13.CrossRef
Metadata
Title
Dynamic structure measurement for distributed software
Authors
Wuxia Jin
Ting Liu
Yu Qu
Qinghua Zheng
Di Cui
Jianlei Chi
Publication date
05-06-2017
Publisher
Springer US
Published in
Software Quality Journal / Issue 3/2018
Print ISSN: 0963-9314
Electronic ISSN: 1573-1367
DOI
https://doi.org/10.1007/s11219-017-9369-3

Other articles of this Issue 3/2018

Software Quality Journal 3/2018 Go to the issue

Premium Partner