A Review on Design Pattern Detection
2019
Abstract
In many object oriented software, there are recurring patterns of classes. With the help of these patterns specific design problem can be solved and object oriented design become more flexible and reusable. Design Pattern existence improve the program understanding and software maintenance. Hence a reliable design pattern mining is required. Graph Matching algorithms are useful and very general form of pattern matching to find the realistic use in several areas. In this paper we are reviewing the different graph matching algorithms to detect design patterns. Keywords— Design pattern, UML, matrix, subgraph isomorphism
References (48)
- D.J. Cook and L.B. Holder, "Substructure Discovery Using Minimum Description Length and Background Knowledge,"J. Artificial Intelligence Research, vol. 1, pp. 231-255, Feb. 1994
- J.M. Smith, "An Elemental Design Pattern Catalog," echnical Report TR-02-040, Dept. of Computer Science, Univ. of North Carolina, Oct. 2002.
- J.M. Kleinberg, "Authoritative Sources in a Hyperlinked Environment," J. ACM, vol. 46, no. 5, pp. 604-632, Sept. 999.
- Gabriel Valiente, Algorithms On Trees And Graphs, 2002, page 367
- B.T. Messmer, H. Bunke, Subgraph isomorphism detection in polynomial time on preprocessed model graphs, Second Asian Conference on Computer Vision, 1995, pp. 151-155.
- Jing Dong, Yongtao Sun, Yajing Zhao, Design Pattern Detection By Template Matching, the Proceedings of the 23rd Annual ACM Symposium on Applied Computing (SAC), pages 765-769,Ceará, Brazil, March 2008
- Nikolaos Tsantalis, Alexander Chatzigeorgiou, George Stephanides, and Spyros T. Halkidis," Design Pattern Detection Using Similarity Scoring"
- Bansiya J (1998) Automatic Design-Pattern Identification. Dr. Dobb's Journal. Available online at: http://www.ddj.com
- Brown K (1996) Design reverse-engineering and automated design pattern detection in Smalltalk. Master's thesis. Department of Computer Engineering, North Carolina State University. Available online at: http://www.ncsu.edu/
- Keller RK, Schauer R, Robitaille S, Page P (1999) Pattern based reverse engineering of design components. In: Proc. Of the 21st International Conference On Software Engineering. IEEE Computer Society Press, pp 226-235
- Gamma E, Helm R, Johnson R, Vlissides J (1995) Design Patterns -Elements of Reusable Object-Oriented Software, Addison Wesley
- Kraemer C, Prechelt L (1996) Design recovery by auto-mated search for structural design patterns in object-oriented software. In: Proc. of the Working Conference on Reverse Engineering, pp. 208-215
- Bergenti F, Poggi A (2000) Improving UML design using automatic design pattern detection. In: Proc. 12th. International Conference on Software Engineering and Knowledge Engineering (SEKE 2000), pp 336-343
- Antoniol G, Fiutem R, Cristoforetti L (1998) Design pattern recovery in object-oriented software. In: 6th International Workshop on Program Comprehension, June, pp 153-160
- Niere J, Wadsack JP, Wendehals L (2001) Design pattern recovery based on source code analysis with fuzzy logic. Technical eport tr-ri-01-222, University of Paderborn. Available online
- Kim H, Boldyreff C (2000) A method to recover design patterns using software product metrics. In: Proc. of the 6th International Conference on Software Reuse (ICSR6).Available online at: http://www.soi.city.ac.uk/hkim69/ publications/icsr6.pdf
- V.D. Blondel, A. Gajardo, M. Heymans, P. Senellart, and P. Van Dooren, "A Measure of Similarity between Graph Vertices: Applications to Synonym Extraction and Web Searching," SIAM Rev.,vol. 46, no. 4, pp. 647-666, 2004.
- D.H. Ballard and C.M. Brown, Computer Vision, Prentice Hall, 1982.
- J. Seemann and J. Wolff. von Gudenberg, "Pattern-based design recovery of Java software." In Proceedings of 6th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 10-16. ACM Press, 1998.
- P. Tonella, G. Antoniol, "Object oriented design pattern inference." In Proceedings of International Conference on Software Maintenance (ICSM'99), 1999.
- Blewitt and A. Bundy, "Automatic verification of Java design patterns." Proceedings of International Conference on Automated Software Engineering, pp. 324-327, 2001.
- H. Mei, T. Xie, and F. Yang, "JBOORET: an automated tool to recover OO design and source models." In Proceedings of the 25h Annual International Computer Software & Applications Conference (COMPSAC), 2001.
- H. Albin-Amiot, P. Cointe, Y. Guéhéneuc, and N. Jussien, "Instantiating and detecting design patterns: putting bits and pieces together." In Proceedings 16th Annual International Conference on Automated Software Engineering (ASE), 2001.
- Asencio, S. Cardman, D. Harris, and E. Laderman, "Relating expectations to automatically recovered design patterns." Proceedings of the 9th Working Conference on Reverse Engineering (WCRE), 2002.
- L. Wendehals, Improving design pattern instance recognition by dynamic analysis. Proceedings of the ICSE workshop on Dynamic Analysis, pp. 29-32, 2003.
- J. M. Smith and D. Stotts, "SPQR: Flexible automated design pattern extraction from source code." In Proceedings of the 18th IEEE International Conference on Automated Software Engineering (ASE), 2003.
- D. Heuzeroth, T. Holl, G. Hogstrom, and W. Lowe, "Automatic design pattern detection." In Proceedings of the 11th International Workshop on Program Comprehension (IWPC 2003), pp 94-103, 2003.
- D. Heuzeroth, S. Mandel, and W. Lowe, "Generating design pattern detectors from pattern specifications." Proceedings of the 18th IEEE International Conference on Automated Software Engineering (ASE), 2003.
- D. Beyer, A. Noack, and C. Lewerentz, "Simple and efficient relational querying of software structures." In Proceedings of the 10th Working Conference on Reverse Engineering (WCRE'03), 2003.
- C. Park, Y. Kang, C. Wu, and K. Yi, "A static reference analysis to understand design pattern behavior." In Proceedings of the 11th Working Conference on Reverse Engineering (WCRE'04), 2004
- Z. Zhang, Q. Li, and K. Ben, "A new method for design pattern mining." In Proceedings of the 3 rd International Conference on Machine Learning and Cybernetics, 2004.
- G. Costagliola, A. De Lucia, V. Deufemia, C. Gravino, and M. Risi, Design Pattern Recovery by Visual Language Parsing, Proceeding of the Ninth European Conference on Software Maintenance and Reengineering. (CSMR'05), pp. 102-111, 2005.
- G. Costagliola, A. Lucia, V. Deufemia, C. Gravino, and M. Risi, "Case studies of visual language based design patterns recovery." In Proceedings of the Conference on Software Maintenance and Reengineering (CSMR), 2006.
- D. Streitferdt, C. Heller, I. Philippow, "Searching design patterns in source code." In Proceedings of the 29th Annual International Computer Software and Application Conference. (COMPSAC), 2005.
- Heyuan Huang, Shensheng Zhang, Jian Cao, Yonghong Duan, A practical pattern recovery approach based on both structural and behavioral analysis, Journal of Systems and Software, 75(1-2), pp.69-87, February 2005
- W. Wang and V. Tzerpos, "Design pattern detection in Eiffel systems." In Proceedings of 12 th Working Conference on Reverse Engineering (WCRE'05), 2005.
- Kaczor, Y. Guéhéneuc, and S. Hamel, Efficient Identification of Design Patterns with Bit-vector Algorithm, Proceedings of the Conference on Software Maintenance and Reengineering (CSMR), 2006.
- N. Shi and R. A. Olsson, "Reverse engineering of design patterns from java source code." 21 st IEEE/ACM International Conference on Automated Software Engineering, 2006.
- J. Dong, D. S. Lad and Y. Zhao, "DP-Miner: Design Pattern Discovery Using Matrix." The Proceedings of the Fourteenth Annual IEEE International Conference on Engineering of Computer Based Systems (ECBS), Arizona, USA, March 2007.
- J. Dong and Y. Zhao, Experiments on Design Pattern Discovery, the Proceedings of the 3 rd International. Workshop on Predictor Models in Software Engineering (PROMISE), in conjunction with ICSE, USA, May 2007.
- J. Niere, W. Schafer, J. P. Wadsack, L. Wendehals, and J. Welsh, "Towards pattern-based design recovery." In Proceedings of the 24th International Conference on Software Engineering (ICSE), pp 338-348, 2002.
- Y. Guéhéneuc, H. Sahraoui, and F. Zaidi, "Fingerprinting design patterns." Proceedings of the 11 th Working Conference on Reverse Engineering (WCRE), 2004.
- R. Ferenc, A. Beszedes, L. Fulop, and J. Lele, "Design pattern mining enhanced by machine learning." In Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM'05), 2005.
- N. Tsantalis, A. Chatzigeorgiou, G. Stephanides, and S. Halkidis, "Design Pattern Detection Using Similarity Scoring." IEEE transaction on software engineering, Vol. 32,No. 11, November 2006.
- Z. Balanyi and R. Ferenc, "Mining design patterns from C++ source code." Proceedings of the 19 th IEEE International Conference on Software Maintenance (ICSM), pp. 305-314, September, 2003.
- M. Hericko and S. Beloglavec, "A composite design-pattern identification technique." Informatica 29, pp 469-476, 2005
- J. Niere, J. P. Wadsack, L. Wendehals, "Handling large search space in pattern-based reverse engineering." Proceedings of the 11th IEEE International Workshop on Program Comprehension (IWPC), pp. 274-279, 2003.
- Jing Dong, Yongtao Sun, Yajing Zhao, Compound Record Clustering Algorithm for Design Pattern Detection by Decision Tree Learning, the Proceedings of the IEEE International Conference on Information Reuse and Integration (IRI), USA, July 2008.