..............................
..............................
..............................
Predicting the Existence of Design Patterns based
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.