Abstract
Anti-patterns are poor solutions of recurring design problems, which decrease software quality. Numerous anti-patterns have been outlined in the literature as violations of various quality rules. Most of these anti-patterns have been defined in terms of code quality metrics. However, identifying anti-patterns at the design level would improve considerably the code quality and substantially reduce the cost of correcting their effects during the coding and maintenance phases. Within this context, we propose an approach that identifies anti-patterns in UML designs through the use of existing and newly defined quality metrics. Operating at the design level, our approach examines structural and behavioral information through the class and sequence diagrams. It is illustrated through five, well-known anti-patterns: Blob, Lava Flow, Functional Decomposition, Poltergeists, and Swiss Army Knife.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Riel, J.: Object-Oriented Design Heuristics. Addison Wesley, Reading (1996)
Trifu, A., Seng, A., Genssler, T.: Automated design flaw correction in object-oriented systems. In: Proceedings of the 8th Conference on Software Maintenance and Reingineering (CSMR 2004), pp. 174–183. IEEE Computer Society Press, Los Alamitos (2004)
Bouhours, C., Leblanc, H.: Christian Percebois. Bad smells in design and design pat-terns. Journal of Object Technology 8, 43–63 (2009)
Marinescu, C., Marinescu, R., Mihancea, P.F., Wettel, R.: iPlasma: An integrated platform for quality assesment of object-oriented design. Loose Research group. Polite-chiea University of Tinoisoora (ICSM 2005), pp. 77–80. Society Press (2005)
Ballis, D., Baruzzo, A., Comini, M.: A rule-based method to match Software Patterns against UML Models. In: Proceedings of International Workshop on Rule Based Programming (RULE 2007), vol. 219, pp. 51–66. Theoretical Computer Science Press (2008)
Ballis, D., Baruzzo, A., Comini, M.: A Minimalist Visual Notation for Design Patterns and Antipatterns. In: Proceedings of the 5th International Conference on Information Tech-nology: New Generations (ITNG 2008), April 2009, pp. 51–66 (2009) (in press)
Alikacem, E., Sahraoui, H.A.: Détection d’anomalies utilisant un langage de des-cription de règle de qualité. In: Rousseau, R., Urtado, C., Vauttier, S.(eds.) 12 Conference on Languages and Models with Objects (LMO 06), March 2006, pp. 185–200 (2006)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.M.: Design patterns: Elements of reusable Object Oriented Software. Addisson-Wesley, Reading (1995)
Bieman, J.M., Kang, B.K.: Cohesion and reuse in an object oriented system. In: Proceedings ACM Symp., On Software Reusability, pp. 259–262 (1995)
Chen, J.Y., Lu, J.F.: A new metric for object-oriented design. Information and Software Technology 35, 232–240 (1993)
Dodani, M.: Patterns of antipatterns. Journal Of Object Technology 5, 29–33 (2006)
Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring-Improving the Design of Existing Code, 1st edn. Addison-Wesley, Reading (1999)
Moha, N., Guéheneuc, Y.G., Leduc, P.: Automatic generation of detection algorithms for design defects. In: Proceedings of the 21st Conference on Automated Software Engi-neering (ASE 2006), September 2006, pp. 297–300. IEEE Computer Society Press, Los Alamitos (2006)
Moha, N., Guéhéneuc, Y.-G., Le Meur, A.-F., Duchien, L.: A domain analysis to specify design defects and generate detection algorithms. In: Fiadeiro, J.L., Inverardi, P. (eds.) FASE 2008. LNCS, vol. 4961, pp. 276–291. Springer, Heidelberg (2008)
Marinescu, R.: Detection strategies: Metrics-based rules for detecting design flaws. In: Proc. of the 20th International Conference on Software Maintenance (ICSM 2004), pp. 350–359. IEEE Computer Society Press, Los Alamitos (2004)
Chidamber, S.R., Kemerer, C.F.: A metric suite for object oriented design. IEEE Transactions on Software Engineering 20, 476–493 (1994)
Grotehen, T., Dittrich, K.R.: The MeTHOOD Approach: Measures, Transformation Rules, and Heuristics for Object-Oriented Design. Technical Report: ifi-97.09 (1997)
McCabe, T.J.: A Complexity Measure. IEEE Transactions on Software Engineering 4, 308–320 (1976)
Brown, W.J., Malveau, R.C., McCormick, H.W., Mowbray, T.J.: Antipatterns: Refac-torin Software, Architectures, and Projects in Crisis, 1st edn. John Wily and Sons, West Sussex (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fourati, R., Bouassida, N., Abdallah, H.B. (2011). A Metric-Based Approach for Anti-pattern Detection in UML Designs. In: Lee, R. (eds) Computer and Information Science 2011. Studies in Computational Intelligence, vol 364. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21378-6_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-21378-6_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21377-9
Online ISBN: 978-3-642-21378-6
eBook Packages: EngineeringEngineering (R0)