A New Approach for Pattern Problem Detection

  • Nadia Bouassida
  • Hanêne Ben-Abdallah
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6051)


Despite their advantages in design quality improvement and rapid software development, design patterns remain difficult to reuse for inexperienced designers. The main difficulty consists in how to recognize the applicability of an appropriate design pattern for a particular application. Design problems can be found in a design with different shapes, unfortunately, often through poor solutions. To deal with this situation, we propose an approach that recognizes pattern problems in a design and that assists in transforming them into their corresponding design patterns. Our approach adapts an XML document retrieval technique to detect the situation necessitating a pattern usage. Unlike current approaches, ours accounts for both the structural and semantic aspects of a pattern problem. In addition, it tolerates design alterations of pattern problems.


Design pattern identification design pattern problem pattern instantiation 


  1. 1.
    Bouhours, C., Leblanc, H., Percebois, C.: Structural variants detection for design pattern instantiation. In: 1st International Workshop on Design Pattern Detection for Reverse Engineering, Benevento, Italy (October 2006)Google Scholar
  2. 2.
    Bouhours, C., Leblanc, H., Percebois, C.: Bad smells in design and design patterns. Journal of Object Technology 8(3) (May-June 2009)Google Scholar
  3. 3.
    Kampffmeyer, H., Zschaler, S.: Finding the Pattern You Need: The Design Pattern Intent Ontology. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 211–225. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  4. 4.
    Moha, N., Guéhéneuc, Y.G., Leduc, P.: Automatic generation of detection algorithms for design defects. In: Uchitel, S., Easterbrook, S. (eds.) Proceedings of the 21st Conference on Automated Software Engineering, September 2006, pp. 297–300. IEEE Computer Society Press, Los Alamitos (2006)Google Scholar
  5. 5.
    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)CrossRefGoogle Scholar
  6. 6.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: Elements of reusable Object Oriented Software. Addisson-Wesley, Reading (1995)Google Scholar
  7. 7.
    Florijin, G., Meijers, M., Van Winsen, P.: Tool support for object oriented patterns. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 472–495. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  8. 8.
    Bergenti, F., Poggi, A.: Improving UML design pattern detection. In: Proceedings of the 12th International Conference on Software Engineering and Knowledge Engineering SEKE (2000)Google Scholar
  9. 9.
    Albin Amiot, H., Cointe, P., Guéhéneuc, Y.G.: Un meta-modele pour coupler application et détection des design patterns. L’objet 8, 1–18 (2002)Google Scholar
  10. 10.
    El Boussaidi, G., Mili, H.: Detecting patterns of poor design solutions by using constraint propagation. In: MODELS, Proceedings of the 11th International Conference on Model Driven Engineering Languages and Systems (September 2008)Google Scholar
  11. 11.
    Pagel, B.U., Winter, M.: Towards pattern-based tools. In: Proceedings of EuropLop (1996)Google Scholar
  12. 12.
    Brown, K.: Design reverse-engineering and automated design pattern detection in Smalltalk. Technical Report TR- 96-07, University of Illinois at Urbana-Champaign (1996)Google Scholar
  13. 13.
    Tsantalis, N., Chatzigeorgiou, A., Stephanides, G., Halkidis, S.T.: Design pattern detection using similarity scoring. IEEE Transactions on Software Engineering 32(11) (2006)Google Scholar
  14. 14.
    Lee, H., Youn, H., Lee, E.: A design pattern detection technique that aids reverse engineering. International Journal of Security and Applications 2(1) (January 2008)Google Scholar
  15. 15.
    Mili, H., El Boussaidi, G., Salah, A.: Représentation et Mise en oeuvre de patrons de conception par représentation explicite des problèmes. In: LMO, Suisse (2005)Google Scholar
  16. 16.
    Dong, J., Sun, Y., Zhao, Y.: Design pattern detection by template matching. In: SAC 2008, Ceara, Brazil, March 16-20 (2008)Google Scholar
  17. 17.
    XML Metadata Interchange: OMG Document ad/98-07-03 (July 6, 1998) Google Scholar
  18. 18.
    Manning, C.D., Raghavan, P., Schütze, H.: An introduction to information retrieval. Cambridge University Press, England (2008)Google Scholar
  19. 19.
    Alikacem, E., Sahraoui, H.A.: Détection d’anomalies utilisant un langage de description règle de qualité. In: Rousseau, R., Urtado, C., Vauttier, S. (eds.) LMO 2006, pp. 185–200 (2006)Google Scholar
  20. 20.
    Ciupke, O.: Automatic Detection of Design Problems in Object-Oriented Reengineering. In: TOOLS 30, pp. 18–32. IEEE Computer Society Press, Los Alamitos (1999)Google Scholar
  21. 21.
    Bouassida, N., Ben-Abdallah, H.: Structural and behavioral detection of design patterns. In: International Conference on Advanced Software Engineering & Its Applications (ASEA), Jeju Island, Korea, December 10-12. LNCS Proceedings. Springer, Heidelberg (2009)Google Scholar
  22. 22.
    Bouassida, N., Ben-Abdallah, H., Gargouri, F.: Stepwise framework design by application unification. In: IEEE International Conference on system man and Cybernetics, Tunisia (2003)Google Scholar
  23. 23.
  24. 24.

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Nadia Bouassida
    • 1
  • Hanêne Ben-Abdallah
    • 2
  1. 1.Mir@cl LaboratoryInstitut Supérieur d’Informatique et de Multimédia 
  2. 2.Mir@cl Laboratory, Faculté des Sciences Economiques et de GestionSfax UniversityTunisia

Personalised recommendations