Your browser does not support JavaScript!

Relationship between design patterns defects and crosscutting concern scattering degree: an empirical study

Relationship between design patterns defects and crosscutting concern scattering degree: an empirical study

For access to this article, please select a purchase option:

Buy article PDF
(plus tax if applicable)
Buy Knowledge Pack
10 articles for $120.00
(plus taxes if applicable)

IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.

Learn more about IET membership 

Recommend Title Publication to library

You must fill out fields marked with: *

Librarian details
Your details
Why are you recommending this title?
Select reason:
IET Software — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

Design patterns are solutions to recurring design problems, aimed at increasing reuse, code quality and, above all, maintainability and resilience to changes. Despite such advantages, the usage of design patterns implies the presence of crosscutting code implementing the pattern usage and access from other system components. When the system evolves, the presence of crosscutting code can cause repeated changes, possibly introducing defects. This study reports an empirical study, in which it is showed that, for three open source projects, the number of defects in design-pattern classes is in several cases correlated with the scattering degree of their induced crosscutting concerns, and also varies among different kinds of patterns.


    1. 1)
      • S.R. Chidamber , C.F. Kemerer . A metrics suite for object oriented design. IEEE Trans. Softw. Eng. , 6 , 476 - 493
    2. 2)
      • Garcia, A., Sant'Anna, C., Figueiredo, E., Kulesza, U., Lucena, C., von Staa, A.: `Modularizing design patterns with aspects: a quantitative study', AOSD '05: Proc. Fourth Int. Conf. on Aspect-Oriented Software Development, 2005, New York, NY, USA, p. 3–14, (ACM Press).
    3. 3)
      • V.R. Basili , L.C. Briand , W.L. Melo . A validation of object-oriented design metrics as quality indicators. IEEE Trans. Softw. Eng. , 10 , 751 - 761
    4. 4)
      • Heuzeroth, D., Holl, T., Högström, G., Löwe, W.: `Automatic design pattern detection', 11thInt. Workshop on Program Comprehension (IWPC 2003), 10–11 May 2003, Portland, Oregon, USA, p. 94–103, (IEEE CS Press).
    5. 5)
      • Costagliola, G., De Lucia, A., Deufemia, V., Gravino, C., Risi, M.: `Design pattern recovery by visual language parsing', Nineth European Conf. on Software Maintenance and Reengineering (CSMR 2005), 21–23 March 2005, Manchester, UK, p. 102–111, (IEEE CS Press).
    6. 6)
      • Zimmermann, T., Weisgerber, P., Diehl, S., Zeller, A.: `Mining version histories to guide software changes', ICSE '04: Proc. 26th Int. Conf. on Software Engineering, 2004, p. 563–572, (IEEE Computer Society).
    7. 7)
      • Hannemann, J., Kiczales, G.: `Design pattern implementation in Java and aspectJ', OOPSLA '02: Proc. 17th ACM SIGPLAN Conf. on Object-Oriented Programming, Systems, Languages, and Applications, 2002, New York, NY, USA, p. 161–173, (ACM Press).
    8. 8)
      • E. Gamma , R. Helm , R. Johnson , J. Vlissides . (1995) Design patterns: elements of reusable object oriented software.
    9. 9)
      • (1990) IEEE Std 610.12.1990, IEEE standard glossary of software engineering terminology.
    10. 10)
      • Figueiredo, E., Garcia, A., Sant'Anna, C., Kulesza, U., Lucena, C.: `Assessing aspect-oriented artifacts: Towards a tool-supported quantitative method', Nineth ECOOP Workshop on Quantitative Approaches in OO Software Engineering (QAOOSE.05), in conjunction with the ECOOP'05 Conference, 2005, Glasgow, Scotland, p. 58–69.
    11. 11)
      • R. Harrison , S. Counsell , R. Nithi . Experimental assessment of the effect of inheritance on the maintainability of object-oriented systems. J. Syst. Softw. , 173 - 179
    12. 12)
      • M. Marin , A. van Deursen , L. Moonen . Identifying crosscutting concerns using fan-in analysis. ACM Trans. Softw. Eng. Methodol. , 1 , 3, 1 - 37
    13. 13)
    14. 14)
    15. 15)
    16. 16)
      • Ayari, K., Meshkinfam, P., Antoniol, G., Di Penta, M.: `Threats on building models from CVS and Bugzilla repositories: the Mozilla case study', Proc. 2007 Conf. Centre for Advanced Studies on Collaborative Research (CASCON 2007), 22–25 October 2007, Richmond Hill, Ontario, Canada, p. 215–228, (IBM).
    17. 17)
      • R.K. Yin . (2002) Case Study Research: Design and Methods.
    18. 18)
      • Y.-G. Guéhéneuc , G. Antoniol . DeMIMA: a multilayered approach for design pattern identification. IEEE Trans. Softw. Eng. , 5 , 667 - 684
    19. 19)
      • Krämer, C., Prechelt, L.: `Design recovery by automated search for structural design patterns in object-oriented software', Proc. Working Conf. on Reverse Engineering, 1996, p. 208–215, (IEEE CS Press).
    20. 20)
      • L. Prechelt , B. Unger , W.F. Tichy , P. Brössler , L.G. Votta . A controlled experiment in maintenance comparing design patterns to simpler solutions. IEEE Trans. Softw. Eng. , 12 , 1134 - 1144
    21. 21)
      • J.O. Coplien . (1998) Software design patterns: common questions and answers.
    22. 22)
      • Nagappan, N., Ball, T.: `Use of relative code churn measures to predict system defect density', ICSE '05: Proc. 27th Int. Conf. on Software Engineering, 2005, New York, NY, USA, p. 284–292, (ACM).
    23. 23)
      • Zimmermann, T., Premraj, R., Zeller, A.: `Predicting defects for eclipse', PROMISE '07: Proc. Third Int. Workshop on Predictor Models in Software Engineering, 2007, p. 9, (IEEE Computer Society).
    24. 24)
      • Aversano, L., Cerulo, L., Di Penta, M.: `Relating the evolution of design patterns and crosscutting concerns', Proc. Seventh IEEE International Working Conf. on Source Code Analysis and Manipulation, 2007, p. 180–192, (IEEE CS Press).
    25. 25)
      • Aversano, L., Canfora, G., Cerulo, L., Del Grosso, C., Di Penta, M.: `An empirical study on the evolution of design patterns', ESEC-FSE '07: Proc. Sixth Joint Meeting of the European Software Engineering Conf. and the ACM SIGSOFT Symp. on The Foundations of Software Engineering, 2007, New York, NY, USA, p. 385–394, (ACM Press).
    26. 26)
      • Mockus, A., Votta, L.G.: `Identifying reasons for software changes using historic databases', ICSM '00: Proc. Int. Conf. on Software Maintenance (ICSM'00), 2000, Washington, DC, USA, p. 120, (IEEE Computer Society).
    27. 27)
      • Guéhéneuc, Y.-G., Albin-Amiot, H.: `Using design patterns and constraints to automate the detection and correction of inter-class design defects', TOOLS USA 2001: Software Technologies for the Age of the Internet, 39th International Conference & Exhibition, Santa Barbara, CA, USA, p. 296–306, 29 July–3 August 2001 (IEEE Computer Society).
    28. 28)
      • Gall, H., Jazayeri, M., Krajewski, J.: `CVS release history data for detecting logical couplings', IWPSE '03: Proc. Sixth Int. Workshop on Principles of Software Evolution, 2003, p. 13–23, (IEEE Computer Society).
    29. 29)
      • Bieman, J.M., Straw, G., Wang, H., Munger, P.W., Alexander, R.T.: `Design patterns and change proneness: an examination of five evolving systems', Nineth Int. Software Metrics Symp. (METRICS03), 2003, p. 40–49, (IEEE Computer Society).
    30. 30)
    31. 31)
      • M. Eaddy , T. Zimmermann , K.D. Sherwood , V. Garg , G.C. Murphy , N. Nagappan , A.V. Aho . Do crosscutting concerns cause defects?. IEEE Trans. Softw. Eng. , 4 , 497 - 515
    32. 32)
      • R.E. Filman , T. Elrad , S. Clarke , M. Aksit . (2004) Aspect-oriented software development.

Related content

This is a required field
Please enter a valid email address