Skip to main content

Do Professional Developers Benefit from Design Pattern Documentation? A Replication in the Context of Source Code Comprehension

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7590))

Abstract

We present the results of a differentiated replication conducted with professional developers to assess whether the presence and the kind of documentation for the solutions or instances of design patterns affect source code comprehension. The participants were divided into three groups and asked to comprehend a chunk of the JHot- Draw source code. Depending on the group, each participant was or not provided with the graphical and textual representations of the design pattern instances implemented within that source code. In the case of graphically documented instances, we used UML class diagrams, while textually documented instances are reported as comment in the source code. The results revealed that participants provided with the documentation of the instances achieved a significantly better comprehension than the participants with source code alone. The effect of the kind of documentation is not statistically significant.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl-King, I., Angel, S.: A Pattern Language - Towns, Buildings, Construction. Oxford University Press (1977)

    Google Scholar 

  2. Arisholm, E., Briand, L.C., Hove, S.E., Labiche, Y.: The impact of UML documentation on software maintenance: An experimental evaluation. IEEE Trans. Softw. Eng. 32(6), 365–381 (2006)

    Article  Google Scholar 

  3. Basili, V., Shull, F., Lanubile, F.: Building knowledge through families of experiments. IEEE Trans. Softw. Eng. 25(4), 456–473 (1999)

    Article  Google Scholar 

  4. Basili, V.R., Rombach, H.D.: The TAME project: Towards improvement-oriented software environments. IEEE Trans. Software Eng. 14(6), 758–773 (1988)

    Article  Google Scholar 

  5. Bennett, K.H., Rajlich, V.T.: Software maintenance and evolution: a roadmap. In: Procs. of the Conference on the Future of Software Engineering, ICSE 2000, pp. 73–87. ACM, New York (2000)

    Chapter  Google Scholar 

  6. Bieman, J., Straw, G., Wang, H., Munger, P., Alexander, R.: Design patterns and change proneness: an examination of five evolving systems. In: Procs. of Software Metrics Symposium, pp. 40–49. IEEE CS (2003)

    Google Scholar 

  7. Cepeda Porras, G., Guéhéneuc, Y.-G.: An empirical study on the efficiency of different design pattern representations in UML class diagrams. Empirical Softw. Eng. 15(5), 493–522 (2010)

    Article  Google Scholar 

  8. Cohen, J.: Statistical power analysis for the behavioral sciences, 2nd edn. Lawrence Earlbaum Associates, Hillsdale (1988)

    MATH  Google Scholar 

  9. Conover, W.J.: Practical Nonparametric Statistics, 3rd edn. Wiley (1998)

    Google Scholar 

  10. Erlikh, L.: Leveraging legacy system dollars for e-business. IT Professional 2, 17–23 (2000)

    Article  Google Scholar 

  11. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object Oriented Software. Addison-Wesley (1995)

    Google Scholar 

  12. Gravino, C., Risi, M., Scanniello, G., Tortora, G.: Does the documentation of design pattern instances impact on source code comprehension? Results from two controlled experiments. In: Procs. of the Working Conference on Reverse Engineering, pp. 67–76. IEEE CS (2011)

    Google Scholar 

  13. Guéhéneuc, Y.-G., Antoniol, G.: Demima: A multilayered approach for design pattern identification. IEEE Trans. Softw. Eng. 34(5), 667–684 (2008)

    Article  Google Scholar 

  14. Heer, J., Agrawala, M.: Software design patterns for information visualization. IEEE Trans. Visualization & Comp. Graphics (Proc. InfoVis) 12, 853–860 (2006)

    Article  Google Scholar 

  15. Jeanmart, S., Guéhéneuc, Y.-G., Sahraoui, H., Habra, N.: Impact of the Visitor Pattern on program comprehension and maintenance. In: Procs. of the Symposium on Empirical Software Engineering and Measurement, pp. 69–78. IEEE CS (2009)

    Google Scholar 

  16. Jedlitschka, A., Ciolkowski, M., Pfahl, D.: Reporting Experiments in Software Engineering. In: Shull, F., Singer, J., Sjoberg, D. (eds.) Guide to Advanced Empirical Software Engineering, pp. 201–228. Springer, London (2008)

    Chapter  Google Scholar 

  17. Juristo, N., Moreno, A.: Basics of Software Engineering Experimentation. Kluwer Academic Publishers (2001)

    Google Scholar 

  18. Kampenes, V., Dyba, T., Hannay, J., Sjoberg, I.: A systematic review of effect size in software engineering experiments. Information and Software Technology 49(11-12), 1073–1086

    Google Scholar 

  19. Khomh, F., Guéhéneuc, Y.-G.: Do design patterns impact software quality positively? In: Procs. of Conference on Software Engineering and Maintenance, pp. 274–278 (2008)

    Google Scholar 

  20. Mayrhauser, A.V.: Program comprehension during software maintenance and evolution. IEEE Computer 28, 44–55 (1995)

    Article  Google Scholar 

  21. OMG. Unified modeling language (UML) specification, version 2.0. Technical report, Object Management Group (July 2005)

    Google Scholar 

  22. Penta, M.D., Cerulo, L., Guéhéneuc, Y.-G., Antoniol, G.: An empirical study of the relationships between design pattern roles and class change proneness. In: Procs. of the International Conference on Software Maintenance, pp. 217–226. IEEE CS (2008)

    Google Scholar 

  23. Pfleeger, S., Atlee, J.: Software engineering - theory and practice, 3rd edn. Ellis Horwood (2006)

    Google Scholar 

  24. Prechelt, L., Unger, B., Tichy, W.F., Brössler, P., Votta, L.G.: A controlled experiment in maintenance comparing design patterns to simpler solutions. IEEE Trans. Software Eng. 27(12), 1134–1144 (2001)

    Article  Google Scholar 

  25. Prechelt, L., Unger-Lamprecht, B., Philippsen, M., Tichy, W.: Two controlled experiments assessing the usefulness of design pattern documentation in program maintenance. IEEE Trans. Softw. Eng. 28(6), 595–606 (2002)

    Article  Google Scholar 

  26. Ricca, F., Penta, M.D., Torchiano, M., Tonella, P., Ceccato, M.: How developers’ experience and ability influence web application comprehension tasks supported by uml stereotypes: A series of four experiments. IEEE Trans. Software Eng. 36(1), 96–118 (2010)

    Article  Google Scholar 

  27. Salton, G., McGill, M.J.: Introduction to Modern Information Retrieval. McGraw Hill, New York (1983)

    MATH  Google Scholar 

  28. Selfridge, P., Waters, R., Chikofsky, E.: Challenges to the field of reverse engineering. In: Proc. of the Working Conference on Reverse Engineering. IEEE CS (1993)

    Google Scholar 

  29. Vokac, M.: Defect frequency and design patterns: An empirical study of industrial code. IEEE Trans. Software Eng. 30(12), 904–917 (2004)

    Article  Google Scholar 

  30. Vokác, M., Tichy, W.F., Sjøberg, D.I.K., Arisholm, E., Aldrin, M.: A controlled experiment comparing the maintainability of programs designed with and without design patterns-a replication in a real programming environment. Emp. Softw. Eng. 9(3), 149–195 (2004)

    Article  Google Scholar 

  31. Wohlin, C., Runeson, P., Höst, M., Ohlsson, M., Regnell, B., Wesslén, A.: Experimentation in Software Engineering - An Introduction. Kluwer (2000)

    Google Scholar 

  32. Zelkowitz, M.V., Shaw, A.C., Gannon, J.D.: Principles of software engineering and design. Prentice-Hall (1979)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gravino, C., Risi, M., Scanniello, G., Tortora, G. (2012). Do Professional Developers Benefit from Design Pattern Documentation? A Replication in the Context of Source Code Comprehension. In: France, R.B., Kazmeier, J., Breu, R., Atkinson, C. (eds) Model Driven Engineering Languages and Systems. MODELS 2012. Lecture Notes in Computer Science, vol 7590. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33666-9_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-33666-9_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-33665-2

  • Online ISBN: 978-3-642-33666-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics