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
- Author(s): L. Aversano ; L. Cerulo ; M. Di Penta
- DOI: 10.1049/iet-sen.2008.0105
For access to this article, please select a purchase option:
Buy article PDF
Buy Knowledge Pack
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.
Thank you
Your recommendation has been sent to your librarian.
- Author(s): L. Aversano 1 ; L. Cerulo 2 ; M. Di Penta 1
-
-
View affiliations
-
Affiliations:
1: Department of Engineering, University of Sannio, Benevento, Italy
2: Department of Biological and Environmental Studies, University of Sannio, Benevento, Italy
-
Affiliations:
1: Department of Engineering, University of Sannio, Benevento, Italy
- Source:
Volume 3, Issue 5,
October 2009,
p.
395 – 409
DOI: 10.1049/iet-sen.2008.0105 , Print ISSN 1751-8806, Online ISSN 1751-8814
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.
Inspec keywords: software maintenance; object-oriented programming; software reusability
Other keywords:
Subjects: Software engineering techniques; Object-oriented programming
References
-
-
1)
- S.R. Chidamber , C.F. Kemerer . A metrics suite for object oriented design. IEEE Trans. Softw. Eng. , 6 , 476 - 493
-
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)
- 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)
- 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)
- 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)
- 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)
- 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)
- E. Gamma , R. Helm , R. Johnson , J. Vlissides . (1995) Design patterns: elements of reusable object oriented software.
-
9)
- (1990) IEEE Std 610.12.1990, IEEE standard glossary of software engineering terminology.
-
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)
- 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)
- M. Marin , A. van Deursen , L. Moonen . Identifying crosscutting concerns using fan-in analysis. ACM Trans. Softw. Eng. Methodol. , 1 , 3, 1 - 37
-
13)
- M. Vokáč . Defect frequency and design patterns: an empirical study of industrial code. IEEE Trans. Softw. Eng. , 12 , 904 - 917
-
14)
- N. Tsantalis , A. Chatzigeorgiou , G. Stephanides , S.T. Halkidis . Design pattern detection using similarity scoring. IEEE Trans. Softw. Eng. , 11 , 896 - 909
-
15)
- A. Milanova , A. Rountev , B.G. Ryder . Parameterized object sensitivity for points-to analysis for Java. ACM Trans. Softw. Eng. Methodol. , 1 , 1 - 41
-
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)
- R.K. Yin . (2002) Case Study Research: Design and Methods.
-
18)
- Y.-G. Guéhéneuc , G. Antoniol . DeMIMA: a multilayered approach for design pattern identification. IEEE Trans. Softw. Eng. , 5 , 667 - 684
-
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)
- 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)
- J.O. Coplien . (1998) Software design patterns: common questions and answers.
-
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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- T. Gyimothy , R. Ferenc , I. Siket . Empirical validation of object-oriented metrics on open source software for fault prediction. IEEE Trans. Software Eng. , 10 , 897 - 910
-
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)
- R.E. Filman , T. Elrad , S. Clarke , M. Aksit . (2004) Aspect-oriented software development.
-
1)

Related content
