The International Arab Journal of Information Technology (IAJIT)

..............................
..............................
..............................


Predicting the Existence of Design Patterns based

3,
#
 As  part  of  the  reengineering  process,  the  identific ation  of  design  patterns  offers  important  informati on  to  the  designer. In fact, the identification of implemente d design patterns could be useful for the comprehen sion of an existing design  and  provides  the  grounds  for  further  code/design  im provements.  However,  existing  pattern  detection  app roaches  generally  have  problems  in  detecting  patterns  in  an  optimal  m anner.  They  either  detect  exact  pattern  instantiations  or  have  no  guidelines  in  deciding  which  pattern  to  look  for  fi rst  amongst  the  various  patterns.  To  overcome  these   two  limitations,  we  propose to optimize any pattern detection approach  by preceding it by a preliminary “sniffing” step that detects the potential  existence  of  patterns  and  orders  the  candidate  patt erns  in  terms  of  their  degree  of  resemblance  to  des ign  fragments.  Our  approach uses design metrics to characterize the st ructure and semantics of the various design pattern s.    


[1] Abul Khaer M., Hashem M., and Masud R., On Use of Design Patterns in Empirical Assessment of Software Design Quality, in Proceedings of International Conference on Computer and Communication Engineering , Kuala Lumpur, Malaysia, pp. 133-137, 2008.

[2] Ampatzoglou A., Charalampidou S., and Stamelos I., Research State of the Art on GoF Design Patterns: A Mapping Study, Journal of Systems and Software , vol. 86, no. 7, pp. 1945- 1964, 2013.

[3] Ampatzoglou A., Frantzeskou G., and Stamelos I., A Methodology to Assess the Impact of Design Patterns on Software Quality, Journal of Information and Software Technolo gy, vol. 54, no. 4, pp. 331-346, 2012.

[4] Antoniol G., Fiutem R., and Cristoforetti L., Using Metrics to Identify Design Patterns in Object-Oriented Software, in Proceedings of the 5 th International Symposium on Software Metrics , Maryland, USA, pp. 23-34, 1998 .

[5] Arcelli F. and Maggioni S., Metrics-Based Detection of Micro Patterns to Improve the Assessment of Software Quality, in Proceedings of the 1 st Symposium on Emerging Trends in Software Metrics , Srdinia, Italy, pp. 50-59, 2009.

[6] Arcelli F., Perin F., Raibulet C., and Ravani S., JADEPT: Dynamic Analysis for Behavioral Design Pattern Detection, in Proceedings of the 4 th International Conference on Evaluation of Novel Approaches to Software Engineering , Milan, Italy, pp. 95-106, 2009.

[7] ArgoUML., available at: http://argouml.softonic. fr/, last visited 2013.

[8] Ayata M., Effect of Some Software Design Patterns on Real Time Software Performance, A Master s Thesis , the Graduate School of Informatics of Middle East Technical University, 2010.

[9] Aydinoz B., The Effect of Design Patterns on Object Oriented Metrics and Software Error- Proneness, Master s Thesis , The Graduate School of natural and applied sciences of Middle East Technical University, 2006.

[10] Belderrar A., Kpodjedo S., Gu h neuc Y., Antoniol G., and Galinier P., Sub-Graph Mining: Identifying Micro-architectures in Evolving Object-oriented Software, in Proceedings of the 15 th European Conference on Software Maintenance and Reengineering , Oldenburg, Germany, pp. 171-180, 2011.

[11] Bieman J., Straw G., Wang H., Munger W., and Alexander T., Design Patterns and Change Proneness: An Examination of Five Evolving Systems, in Proceedings of the 9 th International Software Metrics Symposium , Sydney, Australia, pp. 40-49, 2003.

[12] Blondel D., Gajardo A., Heymans M., Senellart P., and Dooren V., A Measure of Similarity between Graph Vertices, Applications to Synonym Extraction and We b Searching, vol. 46, no. 4, pp. 647-666, 2004.

[13] Bouassida N. and Ben-Abdallah H., Structural and Behavioral Detection of Design Patterns, in Proceedings of International Conference on Advanced Software Engineering and its Applications , Jeju Island, Korea, pp. 16-24, 2009.

[14] Chandra P. and Edith L., Class Break Point Determination using CK Metrics Thresholds, Global Journal of Computer Science and Technology , vol. 10, no. 14, pp. 73-7, 2010.

[15] Chidamber S. and Kemerer C., A Metrics Suite for Object Oriented Design, IEEE Transactions on Software Engineering, vol. 20, no. 6, pp. 476- 493, 1994.

[16] De Lucia A., Deufemia V., Gravino C., and Risi M., Improving Behavioral Design Pattern Detection through Model Checking, in Proceedings of the 14 th European Conference on Software Maintenance and Reengineering , Madrid, Spain, pp. 176-185, 2010.

[17] Gamma E., Helm R., Johnson R., and Vlissides J., Design Patterns : Elements of Reusable Object Oriented Software , Addisson-Wesley, 1995.

[18] Gu h neuc Y. and Antoniol G., DeMIMA: A Multilayered Approach for Design Pattern Identification, IEEE Transactions on Software Engineering , vol. 34, no. 5, pp. 667-684, 2008.

[19] Gu h neuc Y., Sahraoui H., and Zaidi F., Fingerprinting Design Patterns , in Proceedings of the 11 th Working Conference on Reverse Engineering , Eindhoven, Netherlands, pp. 172-181, 2004.

[20] Hernandez J., Kubo A., and Washizaki H., Selection of Metrics for Predicting the Appropriate Application of Design Patterns, in Proceedings of the 2 nd Asian Conference on Pattern Languages of Programs , Tokyo, Japan, pp. 5-8, 2011.

[21] Hsueh N., Chu P., and Chu W., A Quantitative Approach for Evaluating the Quality of Design Patterns, the Journal of Systems and Software , vol. 81, no. 8, pp. 1430-1439, 2008.

[22] Huston B., The Effects of Design Pattern Application on Metric Scores, the Journal of Systems and Software , vol. 58, no. 3, pp. 261- 269, 2001.

[23] Issaoui I., Bouassida N., and Ben-Abdallah H., A Design Pattern Detection Approach Based on Semantics, in Proceedings of the 10 th International Conference on Software The International Arab Journal of Information Technology VOL. 13, NO. 2, March 2016 Engineering Research, Management and Applications , Shangai, China, pp. 49-63, 2012.

[24] JHotDraw., available at: http://www.jhotdraw. org, last visited 2013.

[25] JRefactory., available at: http://jrefactory.sourceforge.net/, last visited 2013.

[26] JUnit., available at: http://www.junit.org, last visited 2013.

[27] Kuljit K. and Hardeep S., Investigation of Design Level Class Cohesion Metrics, the International Arab Journal of Information Technology , vol. 9, no. 1, pp. 66-73, 2012.

[28] Larman C., Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development , Addison Wesley, 2004.

[29] Maggioni S. and Arcelli F., Metrics-Based Detection of Micro Patterns, in Proceedings of ICSE Workshop on Emerging Trends in Software Metrics , Cape Town, South Africa, pp. 39-46, 2010.

[30] Masuda G., Sakamoto N., and Ushijima K., Evaluation and Analysis of Applying Design Patterns, available at: http://nanotsu.ait.kyushu- u.ac.jp/IWPSE99/Proceedings/27.pdf, last visited 2013.

[31] Rei ing R., The Impact of Pattern Use on Design Quality, available at: http://citeseerx.ist.psu.edu/viewdoc/download?do i=10.1.1.21.9968&rep=rep1&type=pdf, last visited 2001.

[32] Riel J., Object-Oriented Design Heuristics , Addison Wesley, 1996.

[33] Tsantalis N., Chatzigeorgiou A., Stephanides G., and Halkidis T., Design Pattern Detection using Similarity Scoring, IEEE Transactions on Software Engineering , vol. 32, no. 11, pp. 896- 909, 2006.

[34] Venners B., How to Use Design Patterns-a Conversation with Erich Gamma, part I, available at: http://www.artima.com/lejava/articles/gammadp. html, last visited 2013.

[35] Vernazza T., Granatella G., Succi G., Benedicenti L., and Mintchev M., Defining Metrics for Software Components, in Proceedings of World Multi Conference on Systemics , Cyberneti58cs and Informatics , Florida, USA, pp. 16-23, 2000.

[36] WordNet., available at: https://wordnet.princeton.edu/, last visited 2013. Imene Issaoui is preparing a Doctorate degree in Computer Science at the Faculty of Economic Sciences and Management of Sfax, Tunisia. She is a Teaching Assistant at the Institut Preparatory to engineering studies of the University of Monastir, Tunisia. Nadia Bouassida received a Phd in Computer and Information Science from the University of Science of Tunis, Tunisia. Currently, she is Assistant Professor at the Department of Computer Science of the Institut Sup rieur d'Informatique et du Multim dia at the University of Sfax, Tunisia . She is a member of the Multimedia, Information systems and Advanced Computing Laboratory, University of Sfax Her research interests include r euse techniques, such as design patterns, Frameworks and Software Product Lines. Hanene Ben-Abdallah received a BS degree in Computer Science and BS degree in Mathematics from the University of Minnesota, MPLS, MN, a MSE and PhD degrees in Computer and Information Science from the University of Pennsylvania, PA. She worked at University of Sfax, Tunisia from 1997 until 2013. She is now full professor at the Faculty of Computing and Information Technology, King Abdulaziz University, Kingdom of Saudi Arabia. She is a member of the Multimedia, Information Systems and Advanced Computing Laboratory, University of Sfax. Her research interests include software design quality, reuse techniques in softwa re and business process modelling.