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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl-King, I., Angel, S.: A Pattern Language - Towns, Buildings, Construction. Oxford University Press (1977)
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)
Basili, V., Shull, F., Lanubile, F.: Building knowledge through families of experiments. IEEE Trans. Softw. Eng. 25(4), 456–473 (1999)
Basili, V.R., Rombach, H.D.: The TAME project: Towards improvement-oriented software environments. IEEE Trans. Software Eng. 14(6), 758–773 (1988)
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)
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)
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)
Cohen, J.: Statistical power analysis for the behavioral sciences, 2nd edn. Lawrence Earlbaum Associates, Hillsdale (1988)
Conover, W.J.: Practical Nonparametric Statistics, 3rd edn. Wiley (1998)
Erlikh, L.: Leveraging legacy system dollars for e-business. IT Professional 2, 17–23 (2000)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object Oriented Software. Addison-Wesley (1995)
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)
Guéhéneuc, Y.-G., Antoniol, G.: Demima: A multilayered approach for design pattern identification. IEEE Trans. Softw. Eng. 34(5), 667–684 (2008)
Heer, J., Agrawala, M.: Software design patterns for information visualization. IEEE Trans. Visualization & Comp. Graphics (Proc. InfoVis) 12, 853–860 (2006)
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)
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)
Juristo, N., Moreno, A.: Basics of Software Engineering Experimentation. Kluwer Academic Publishers (2001)
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
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)
Mayrhauser, A.V.: Program comprehension during software maintenance and evolution. IEEE Computer 28, 44–55 (1995)
OMG. Unified modeling language (UML) specification, version 2.0. Technical report, Object Management Group (July 2005)
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)
Pfleeger, S., Atlee, J.: Software engineering - theory and practice, 3rd edn. Ellis Horwood (2006)
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)
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)
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)
Salton, G., McGill, M.J.: Introduction to Modern Information Retrieval. McGraw Hill, New York (1983)
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)
Vokac, M.: Defect frequency and design patterns: An empirical study of industrial code. IEEE Trans. Software Eng. 30(12), 904–917 (2004)
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)
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M., Regnell, B., Wesslén, A.: Experimentation in Software Engineering - An Introduction. Kluwer (2000)
Zelkowitz, M.V., Shaw, A.C., Gannon, J.D.: Principles of software engineering and design. Prentice-Hall (1979)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)