Skip to main content
Log in

The influence of cyclomatic complexity distribution on the understandability of xtUML models

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Executable software models formalize functional software requirements. This means that the understandability of software models is of paramount importance. In this paper, we investigate the influence of cyclomatic complexity on the understandability of executable translatable unified modeling language (xtUML) models. We adapt traditional cyclomatic complexity metrics to different xtUML sub-models and present two different ways of measuring complexity distribution: horizontal, among elements of the same type, and vertical, among elements of different types. In order to test our hypothesis that cyclomatic complexity distribution influences the understandability of xtUML models, we have performed an experiment with student participants in which we have evaluated the understandability of three semantically equivalent xtUML models with different complexity distributions. Results indicate that a better distribution of cyclomatic complexity has a positive influence on model understandability.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18

Similar content being viewed by others

Notes

  1. https://xtuml.org/download/

References

  • Abran, A., Bourque, P., Dupuis, R., & Moore, J.W. (2001). Guide to the software engineering body of knowledge-SWEBOK: IEEE Press.

  • Aggarwal, K.K., Singh, Y., & Chhabra, J.K. (2002). An integrated measure of software maintainability. In Reliability and maintainability symposium, 2002. Proceedings. Annual, pp. 235–241. IEEE.

  • Albrecht, A.J. (1979). Measuring application development productivity. In Proceedings of the Joint SHARE/GUIDE/IBM Application Development Symposium, pp. 83–92.

  • Berk, R.A. (1983). An introduction to sample selection bias in sociological data. American Sociological Review, 386–398.

  • Burden, H., Heldal, R., & Siljamaki, T. (2011). Executable and translatable UML—how difficult can it be?. In 2011 18th Asia-Pacific Software Engineering Conference, pp. 114–121. IEEE.

  • Campbell, D.T. (1957). Factors relevant to the validity of experiments in social settings. Psychological bulletin, 54(4), 297.

    Article  Google Scholar 

  • Chen, K., & Rajlich, V. (2000). Case study of feature location using dependence graph.

    Book  Google Scholar 

  • Cohen, J. (1977). Statistical power analysis for the behavioral sciences (revised ed.)

  • Cohen, Y., & Cohen, J.Y. (1988). Analysis of variance. Statistics and Data with R: an applied approach through examples, 463–509.

  • Cruz-Lemus, J.A., Maes, A., Genero, M., Poels, G., & Piattini, M. (2010). The impact of structural complexity on the understandability of UML statechart diagrams. Information Sciences.

  • Danziger, S., Levav, J., & Avnaim-Pesso, L. (2011). Extraneous factors in judicial decisions. Proceedings of the National Academy of Sciences, 108(17), 6889–6892.

  • Deerwester, S., Dumais, S.T., Furnas, G.W., Landauer, T.K., & Harshman, R. (1990). Indexing by latent semantic analysis. Journal of the American society for information science, 41(6), 391.

    Article  Google Scholar 

  • Dit, B., Revelle, M., Gethers, M., & Poshyvanyk, D. (2013). Feature location in source code: a taxonomy and survey. Journal of Software: Evolution and Process, 25 (1), 53–95.

    Google Scholar 

  • Fisher, R.A. (1925). Statistical methods for research workers: Genesis Publishing Pvt Ltd.

  • Fraenkel, J.R., Wallen, N.E., & Hyun, H.H. (1993). How to design and evaluate research in education Vol. 7: McGraw-Hill New York.

  • Gunning, R. (1969). The fog index after twenty years. Journal of Business Communication, 6(2), 3–13.

    Article  Google Scholar 

  • Henderson-Sellers, B., & Tegarden, D. (1994). The theoretical extension of two versions of cyclomatic complexity to multiple entrylexit modules. Software Quality Journal, 3(4), 253–269.

    Article  Google Scholar 

  • Henry, S., Kafura, D., & Harris, K. (1981). On the relationships among three software metrics. ACM SIGMETRICS Performance Evaluation Review, 10(1), 81–88.

    Article  Google Scholar 

  • Hofmann, T. (1999). Probabilistic latent semantic indexing. In Proceedings of the 22nd annual international ACM SIGIR conference on Research and development in information retrieval, pp. 50–57. ACM.

  • Iversen, G.R., & Norpoth, H. (1987). Analysis of variance. 1: Sage.

  • Khoshgoftaar, T.M., & Munson, J.C. (1990). Predicting software development errors using software complexity metrics. IEEE Journal on Selected Areas in Communications.

  • Kleppe, A.G., Warmer, J., Bast, W., & Explained, M. (2003). The model driven architecture: practice and promise.

  • Labrosse, J. (2008). Embedded software. Amsterdam Boston: Elsevier/Newnes.

    Google Scholar 

  • Laitinen, K. (1996). Estimating understandability of software documents. ACM SIGSOFT Software Engineering Notes, 21(4), 81–92.

    Article  Google Scholar 

  • Lavazza, L., & Robiolo, G. (2010). Introducing the evaluation of complexity in functional size measurement: a UML-based approach. In Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement.

  • Li, W., & Henry, S. (1993). Object-oriented metrics that predict maintainability. Journal of systems and software.

  • Lippert, M., & Roock, S. (2006). Refactoring in large software projects: performing complex restructurings successfully: Wiley.

  • Mattias Mohlin, I. (2013). Modeling real-time applications in RSARTE. https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/W0c4a14ff363e_436c_9962_2254bb5cbc60/page/RSARTEConcepts.

  • McCabe, T.J. (1976). A complexity measure. IEEE Transactions on Software Engineering.

  • Mellor, S. (2005). Introduction to executable and translatable UML. Whitepapers CNET Networks: Application Development Toolkit.

    Google Scholar 

  • Mellor, S.J. (2004). MDA distilled: principles of model-driven architecture: Addison-Wesley Professional.

  • Mellor, S.J., Balcer, M., & Foreword By-Jacoboson, I. (2002). Executable UML: a foundation for model-driven architectures: Addison-Wesley Longman Publishing Co., Inc.

  • Mellor, S.J., Wolfe, J.R., & McCausland, C. (2005). Why systems-on-chip needs more UML like a hole in the head. In UML for SOC Design, pp. 17–36. Springer.

  • Nazir, M., Khan, R.A., & Mustafa, K. (2010). A metrics based model for understandability quantification. arXiv:1004.4463.

  • Object Management Group, O. (2003). MDA guide version 1.0. http://www.omg.org/mda/mda_files/MDA_Guide_Version1-0.pdf http://www.omg.org/mda/mda_files/MDA_Guide_Version1-0.pdf.

  • Object Management Group, O. (2016). Model driven architecture. http://www.omg.org/mda/.

  • OMG (2013). OMG alf standard. http://www.omg.org/spec/ALF/.

  • OMG (2016). Semantics of a foundational subset for executable UML models (fuml). http://www.omg.org/spec/FUML/.

  • (OMG), O.M.G. (2014). Automated function points. http://www.omg.org/spec/AFP/1.0/.

  • OneFact (2015). Bridgepoint tool. https://xtuml.org/download/.

  • OneFact (2016). Bridgepoint faq. https://github.com/xtuml/bridgepoint/blob/master/doc-bridgepoint/process/FAQ.md.

  • OneFact (2016). Bridgepoint xtuml tool. https://www.xtuml.org/download/.

  • Perisic, B. (2014). Model driven software development-state of the art and perspectives. Invited Paper. INFOTEH, 1237–1248.

  • Porter, M.F. (1980). An algorithm for suffix stripping. Program, 14(3), 130–137.

    Article  Google Scholar 

  • Porter, M.F. (2006). The porter stemming algorithm. https://tartarus.org/martin/PorterStemmer/.

  • Poshyvanyk, D., Gueheneuc, Y.G., Marcus, A., Antoniol, G., & Rajlich, V.C. (2007). Feature location using probabilistic ranking of methods based on execution scenarios and information retrieval. IEEE Transactions on Software Engineering, 33 (6), 420–432.

    Article  Google Scholar 

  • Raistrick, C. (2004). Model driven architecture with executable UML, Chapter 2.7, Mapping of models: Cambridge University Press.

  • Rajlich, V., & Wilde, N. (2002). The role of concepts in program comprehension. In 10th International Workshop on Program Comprehension, 2002. Proceedings., pp. 271–278. IEEE.

  • Riaz, M., Mendes, E., & Tempero, E. (2009). A systematic review of software maintainability prediction and metrics. In Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement, pp. 367–377. IEEE Computer Society.

  • Sarkar, S., Rama, G., Siddaramappa, N., Kak, A., & Ramachandran, S. (2012). Measuring quality of software modularization. https://www.google.com/patents/US8146058. US Patent 8,146,058.

  • Selic, B., Gullekson, G., & Ward, P.T. (1994). Real-time object-oriented modeling Vol. 2: Wiley.

  • Shapiro, S.S., & Wilk, M.B. (1965). An analysis of variance test for normality (complete samples). Biometrika, 52(3/4), 591–611.

    Article  MathSciNet  MATH  Google Scholar 

  • Shepperd, M. (1988). A critique of cyclomatic complexity as a software metric. Software Engineering Journal, 3(2), 30–36.

    Article  Google Scholar 

  • Shibata, K., Rinsaka, K., Dohi, T., & Okamura, H. (2007). Quantifying software maintainability based on a fault-detection/correction model. In 13th Pacific Rim International Symposium on Dependable Computing, 2007. PRDC 2007. pp. 35–42. IEEE.

  • Shlaer, S. (1996). The Shlaer-Mellor method: Project Technology white paper.

  • Ukić, N. (2016). Bitbucket public repository. https://bitbucket.org/nukic/phd.

  • Ukić, N., Pályi, P.L., Zemljić, M., Asztalos, D., & Markota, I. (2011). Evaluation of Bridgepoint model-driven development tool in distributed environment. In Workshop on Information and Communication Technologies conjoint with 19th International Conference on Software, Telecommunications and Computer Networks, SoftCOM 2011.

  • Van Koten, C., & Gray, A. (2006). An application of Bayesian network for predicting object-oriented software maintainability. Information and Software Technology, 48(1), 59–67.

  • Welker, K.D., Oman, P.W., & Atkinson, G.G. (1997). Development and application of an automated source code maintainability index. Journal of Software Maintenance: Research and Practice, 9(3), 127–159.

    Article  Google Scholar 

  • Wilde, N., & Scully, M.C. (1995). Software reconnaissance: mapping program features to code. Journal of Software Maintenance: Research and Practice, 7(1), 49–62.

    Article  Google Scholar 

  • Woodfield, S.N., Dunsmore, H.E., & Shen, V.Y. (1981). The effect of modularization and comments on program comprehension. In Proceedings of the 5th international conference on Software engineering, pp. 215–223. IEEE Press.

  • XTUML (2016). Executable and translatable uml. http://xtuml.org/.

  • Zhou, Y., & Xu, B. (2008). Predicting the maintainability of open source software using design metrics. Wuhan University Journal of Natural Sciences, 13(1), 14–20.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nenad Ukić.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ukić, N., Maras, J. & Šerić, L. The influence of cyclomatic complexity distribution on the understandability of xtUML models. Software Qual J 26, 273–319 (2018). https://doi.org/10.1007/s11219-016-9351-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-016-9351-5

Keywords

Navigation