skip to main content
research-article

On the impact of UML analysis models on source-code comprehensibility and modifiability

Published:04 April 2014Publication History
Skip Abstract Section

Abstract

We carried out a family of experiments to investigate whether the use of UML models produced in the requirements analysis process helps in the comprehensibility and modifiability of source code. The family consists of a controlled experiment and 3 external replications carried out with students and professionals from Italy and Spain. 86 participants with different abilities and levels of experience with UML took part. The results of the experiments were integrated through the use of meta-analysis. The results of both the individual experiments and meta-analysis indicate that UML models produced in the requirements analysis process influence neither the comprehensibility of source code nor its modifiability.

References

  1. Marwen Abbes, Foutse Khomh, Yann-Gael Gueheneuc, and Giuliano Antoniol. 2011. An empirical study of the impact of two antipatterns, blob and spaghetti code, on program comprehension. In Proceedings of the European Conference on Software Maintenance and Reengineering. IEEE Computer Society, Los Alamitos, CA, 181--190. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Silvia Mara Abrahão, Carmine Gravino, Emilio Insfran Pelozo, Giuseppe Scanniello, and Genoveffa Tortora. 2012. Assessing the effectiveness of sequence diagrams in the comprehension of functional requirements: results from a family of five experiments. IEEE Trans. Softw. Eng. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Ritu Agarwal and Atish P. Sinha. 2003. Object-oriented modeling with UML: A study of developers' perceptions. Commun. ACM 46, 9, 248--256. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bente Anda, Kai Hansen, Ingolf Gullesen, and Hanne Kristin Thorsen. 2006. Experiences from introducing UML-based development in a large safety-critical project. Empirical Softw. Eng. 11, 4, 555--581. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Erik Arisholm, Lionel C. Briand, Siw Elisabeth Hove, and Yvan Labiche. 2006. The impact of UML documentation on software maintenance: An experimental evaluation. IEEE Trans. Softw. Eng. 32, 365--381. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Hazeline U. Asuncion, Frédéric François, and Richard N. Taylor. 2007. An end-to-end industrial software traceability tool. In Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering. 115--124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Ricardo A. Baeza-Yates and Berthier Ribeiro-Neto. 1999. Modern Information Retrieval. Addison-Wesley Longman Publishing Co., Inc., Boston, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. R. Baker. 1995. Modern permutation test software. In Randomization Tests, 3rd Ed., E. Edgington, Ed. Marcel Dekker, Inc., New York, NY.Google ScholarGoogle Scholar
  9. Victor Basili, Forrest Shull, and Filippo Lanubile. 1999. Building knowledge through families of experiments. IEEE Trans. Softw. Eng. 25, 4, 456--473. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Victor R. Basili, Scott Green, Oliver Laitenberger, Filippo Lanubile, Forrest Shull, Lars Sivert SØrumgård, and Marvin V. Zelkowitz. 1996. The empirical investigation of perspective-based reading. Empirical Softw. Eng. 1, 2, 133--164.Google ScholarGoogle ScholarCross RefCross Ref
  11. Victor R. Basili and H. Dieter Rombach. 1988. The TAME project: Towards improvement-oriented software environments. IEEE Trans. Softw. Eng. 14, 6, 758--773. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Biostat. 2006. Comprehensive Meta-Analysis v. 2. In Biostat Manual, Englewood, NJ.Google ScholarGoogle Scholar
  13. Grady Booch, James Rumbaugh, and Ivar Jacobson. 2005. Unified Modeling Language User Guide, 2nd Ed. Addison-Wesley Professional. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. B. Bruegge and A. H. Dutoit. 2003. Object-Oriented Software Engineering: Using UML, Patterns and Java, 2nd Ed. Prentice-Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. David Budgen, Andy J. Burn, O. Pearl Brereton, Barbara A. Kitchenham, and Rialette Pretorius. 2011. Empirical evidence about the UML: A systematic literature review. Softw. Pract. Exp. 41, 4, 363--392. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jeffrey Carver, Letizia Jaccheri, Sandro Morasca, and Forrest Shull. 2003. Issues in using students in empirical studies in software engineering education. In Proceedings of the International Symposium on Software Metrics. IEEE Computer Society, 239. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. David Cohen, Mikael Lindvall, and Patricia Costa. 2004. An introduction to agile methods. Adv. Comput. 62, 1--66.Google ScholarGoogle ScholarCross RefCross Ref
  18. M. Colosimo, A. De Lucia, G. Scanniello, and G. Tortora. 2009. Evaluating legacy system migration technologies through empirical studies. Inf. Softw. Technol. 51, 12, 433--447. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. W. J. Conover. 1998. Practical Nonparametric Statistics. 3rd Ed. Wiley.Google ScholarGoogle Scholar
  20. Sergio Cozzetti B. de Souza, Nicolas Anquetil, and Káthia M. de Oliveira. 2005. A study of the documentation essential to software maintenance. In Proceedings of the International Conference on Design of Communication: Documenting & Designing for Pervasive Information. ACM, New York, NY, 68--75. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J. L. Devore and N. Farnum. 1999. Applied Statistics for Engineers and Scientists. Duxbury.Google ScholarGoogle Scholar
  22. B. Dobing and J. Parsons. 2006. How UML is used. Commun. ACM 49, 5, 109--113. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Wojciech J. Dzidek, Erik Arisholm, and Lionel C. Briand. 2008. A realistic empirical evaluation of the costs and benefits of UML in software maintenance. IEEE Trans. Softw. Eng. 34, 407--432. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. P. Ellis. 2010. The Essential Guide to Effect Sizes: Statistical Power, Meta-Analysis, and the Interpretation of Research Results. Cambridge University Press.Google ScholarGoogle Scholar
  25. John Erickson and Keng Siau. 2007. Theoretical and practical complexity of modeling methods. Commun. ACM 50, 8, 46--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. A. Fernández-Saez, M. Genero, J. Nelson, G. Poels, and M. Piattini. 2012. A systematic literature review on the quality of UML models. J. Data. Manage. 22, 3, 46--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Carmine Gravino, Michele Risi, Giuseppe Scanniello, and Genoveffa Tortora. 2011. Does the documentation of design pattern instances impact on source code comprehension? Results from two controlled experiments. In Proceeding of the Working Conference on Reverse Engineering. IEEE Computer Society, Los Alamitos, CA, 67--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Carmine Gravino, Michele Risi, Giuseppe Scanniello, and Genoveffa Tortora. 2012. Do professional developers benefit from design pattern documentation? A replication in the context of source code comprehension. In Proceedings of the International Conference on Model Driven Engineering Languages and Systems. Springer-Verlag, Berlin, 185--201. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Carmine Gravino, Genoveffa Tortora, and Giuseppe Scanniello. 2010. An empirical investigation on the relation between analysis models and source code comprehension. In Proceedings of the ACM Symposium on Applied Computing. ACM, 2365--2366. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Martin Grossman, Jay E. Aronson, and Richard V. McCarthy. 2005. Does UML make the grade? Insights from the software development community. Inf. Softw. Technol. 47, 6, 383--397. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. L. Hedges and I. Olkin. 1985. Statistical Methods for Meta-Analysis. Academia Press.Google ScholarGoogle Scholar
  32. Martin Höst, Björn Regnell, and Claes Wohlin. 2000. Using students as subjects: Comparative study of students and professionals in lead-time impact assessment. Empirical Softw. Eng. 5, 3, 201--214. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Andreas Jedlitschka, Marcus Ciolkowski, and Dietmar Pfahl. 2008. Reporting experiments in software engineering. In Guide to Advanced Empirical Software Engineering, Forrest Shull, Janice Singer, and Dag I. K. Sjøberg, Eds., Springer, 201--228.Google ScholarGoogle Scholar
  34. N. Juristo and A. Moreno. 2001. Basics of Software Engineering Experimentation. Kluwer Academic Publishers, Englewood Cliffs, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Vigdis By Kampenes, Tore Dybå, Jo Erskine Hannay, and Dag I. K. Sjøberg. 2007. A systematic review of effect size in software engineering experiments. Inf. Softw. Technol. 49, 11--12, 1073--1086. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Barbara Kitchenham, Hiyam Al-Khilidar, Muhammed Babar, Mike Berry, Karl Cox, Jacky Keung, Felicia Kurniawati, Mark Staples, He Zhang, and Liming Zhu. 2008. Evaluating guidelines for reporting empirical software engineering studies. Empirical Softw. Eng. 13, 97--121. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. B. Kitchenham, S. Pfleeger, L. Pickard, P. Jones, D. Hoaglin, K. El Emam, and J. Rosenberg. 2002. Preliminary guidelines for empirical research in software engineering. IEEE Trans. Softw. Eng. 28, 8, 721--734. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Soren Lauesen. 2002. Software Requirements: Styles and Techniques. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. H. Levene. 1960. Robust tests for equality of variances. In Contributions to Probability and Statistics, I. Olkin Ed., Stanford University Press., Palo Alto, CA.Google ScholarGoogle Scholar
  40. M. Lindvall and K. Sandahl. 1996. Practical implications of traceability. Softw. Pract. Exp. 26, 10, 1161--1180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Mitch Lubars, Colin Potts, and Charlie Richter. 1993. A review of the state of the practice in requirements modeling. In Proceedings of the International Symposium on Requirements Engineering. IEEE Computer Society Press, 2--14.Google ScholarGoogle Scholar
  42. J. McDermid. 1991. Software Engineer's Reference Book. Butterworth-Heinemann, Ltd., Oxford, U.K. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Manoel G. Mendonça, José C. Maldonado, Maria C. F. de Oliveira, Jeffrey Carver, Sandra C. P. F. Fabbri, Forrest Shull, Guilherme H. Travassos, Erika Nina Höhn, and Victor R. Basili. 2008. A framework for software engineering experimental replications. In Proceedings of the International Conference on Engineering of Complex Computer Systems. IEEE Computer Society, Los Alamitos, CA, 203--212. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. OMG. 2010. Unified Modeling Language (TM) URL. Tech. Rep. Object Management Group. http://www.uml.org.Google ScholarGoogle Scholar
  45. A. N. Oppenheim. 1992. Questionnaire Design, Interviewing and Attitude Measurement. Pinter, London.Google ScholarGoogle Scholar
  46. Lutz Prechelt, Barbara Unger-Lamprecht, Michael Philippsen, and Walter F. Tichy. 2002. Two controlled experiments assessing the usefulness of design pattern documentation in program maintenance. IEEE Trans. Softw. Eng. 28, 6, 595--606. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Filippo Ricca, Massimiliano Di Penta, Marco Torchiano, Paolo Tonella, and Mariano Ceccato. 2010. How Developers' experience and ability influence web application comprehension tasks supported by UML stereotypes: a series of four experiments. IEEE Trans. Softw. Eng. 36, 1, 96--118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Giuseppe Scanniello, Carmine Gravino, and Genny Tortora. 2010. Investigating the role of UML in the software modeling and maintenance—A preliminary industrial survey. In Proceedings of the International Conference on Enterprise Information Systems. SciTePress, 141--148.Google ScholarGoogle Scholar
  49. Giuseppe Scanniello, Carmine Gravino, and Genoveffa Tortora. 2012. Does the combined use of class and sequence diagrams improve the source code comprehension?: Results from a controlled experiment. In Proceedings of the International Workshop on Experiences and Empirical Studies in Software Modelling. ACM, New York, NY, 25--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. G. Scanniello, F. Ricca, and M. Torchiano. 2011. On the effectiveness of the UML object diagrams: A replicated experiment. In Proceedings of the International Conference on Evaluation and Assessment in Software Engineering. IET Digital Library, 76--85.Google ScholarGoogle Scholar
  51. S. Shapiro and M. Wilk. 1965. An analysis of variance test for normality. Biometrika 52, 3--4, 591--611.Google ScholarGoogle ScholarCross RefCross Ref
  52. Forrest Shull, Jeffrey C. Carver, Sira Vegas, and Natalia Juristo Juzgado. 2008. The role of replications in empirical software engineering. Empirical Softw. Eng. 13, 2, 211--218. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Forrest Shull, Manoel G. Mendoncça, Victor Basili, Jeffrey Carver, José C. Maldonado, Sandra Fabbri, Guilherme Horta Travassos, and Maria Cristina Ferreira. 2004. Knowledge-sharing issues in experimental software engineering. Empirical Softw. Eng. 9, 1--2, 111--137. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. D. I. K. Sjøberg, J. E. Hannay, O. Hansen, V. B. Kampenes, A. Karahasanovic, N. Liborg, and A. C. Rekdal. 2005. A survey of controlled experiments in software engineering. IEEE Trans. Softw. Eng. 31, 9, 733--753. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Scott Tilley and Shihong Huang. 2003. A qualitative assessment of the efficacy of UML diagrams as a form of graphical documentation in aiding program understanding. In Proceedings of the International Conference on Documentation. ACM, New York, NY, 184--191. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Eirik Tryggeseth. 1997. Report from an experiment: Impact of documentation on maintenance. Empirical Softw. Eng. 2, 2, 201--207. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. S. Vegas, N. Juristo, A. Moreno, M. Solari, and P. Letelier. 2006. Analysis of the influence of communication between researchers on experiment replication. In Proceedings of the International Symposium on Empirical Software Engineering. ACM, New York, NY, 28--37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Jan Verelst. 2004. The influence of the level of abstraction on the evolvability of conceptual models of information systems. In Proceedings of the International Symposium on Empirical Software Engineering. IEEE Computer Society, 17--26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Klaus Weidenhaupt, Klaus Pohl, Matthias Jarke, and Peter Haumer. 1998. Scenarios in system development: Current practice. IEEE Softw. 15, 34--45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. C. Wohlin, P. Runeson, M. Höst, M. Ohlsson, B. Regnell, and A. Wesslén. 2000. Experimentation in Software Engineering-An Introduction. Kluwer. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. On the impact of UML analysis models on source-code comprehensibility and modifiability

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Software Engineering and Methodology
          ACM Transactions on Software Engineering and Methodology  Volume 23, Issue 2
          March 2014
          319 pages
          ISSN:1049-331X
          EISSN:1557-7392
          DOI:10.1145/2600788
          Issue’s Table of Contents

          Copyright © 2014 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 4 April 2014
          • Accepted: 1 June 2013
          • Revised: 1 February 2013
          • Received: 1 July 2012
          Published in tosem Volume 23, Issue 2

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader