skip to main content
10.1145/3167132.3167292acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

A model for analysis and presentation of design pattern detection results

Published: 09 April 2018 Publication History

Abstract

Detecting design patterns in large software systems greatly helps the comprehension process of the system's design. While many design pattern detection tools have been presented in the literature, a challenge is that detection results produced by different tools are hard to evaluate due to differences in understanding of design patterns, manner of presentation, instance counting, lack of automated or semi-automated ways of validation and so on.
In this paper, we present an approach to analyzing and presenting design pattern instances that helps with the presentation of detection results in a uniform fashion. Our approach also utilizes the nature of design patterns to potentially help with the validation of detection results. The paper presents an implementation of our approach, as well as experiments that showcase its effectiveness.

References

[1]
G. Antoniol, R. Fiutem, and L. Cristoforetti. 1998. Using Metrics to Identify Design Patterns in Object-Oriented Software. In METRICS '98: Proceedings of the 5th International Symposium on Software Metrics. IEEE Computer Society, Washington, DC, USA, 23--34.
[2]
Zsolt Balanyi and Rudolf Ferenc. 2003. Mining Design Patterns from C++ Source Code. In ICSM '03: Proceedings of the International Conference on Software Maintenance. IEEE Computer Society, Washington, DC, USA, 305--314.
[3]
Ian Bayley and Hong Zhu. 2010. Formal specification of the variants and behavioural features of design patterns. Journal of Systems and Software 83, 2 (2010), 209--221.
[4]
Marcel Birkner. 2007. Object-Oriented Design Pattern Detection Using Static And Dynamic Analysis In Java Software. Master's thesis. University of Applied Sciences Bonn-Rhein-Sieg.
[5]
Istvan Gergely Czibula and Gabriela Serban. 2008. Hierarchical Clustering Based Design Patterns Identification. International Journal of Computers, Communications and Control 3 (2008), 248--252.
[6]
Haneen Dabain, Ayesha Manzer, and Vassilios Tzerpos. 2015. Design pattern detection using FINDER. In Proceedings of the 30th Annual ACM Symposium on Applied Computing, Salamanca, Spain, April 13--17, 2015. 1586--1593.
[7]
Jing Dong, Dushyant S. Lad, and Yajing Zhao. 2007. DP-Miner: Design Pattern Discovery Using Matrix. In ECBS '07: Proceedings of the 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems. IEEE Computer Society, Washington, DC, USA, 371--380.
[8]
Jing Dong and Yajing Zhao. 2007. Experiments on Design Pattern Discovery. In PROMISE '07: Proceedings of the Third International Workshop on Predictor Models in Software Engineering. IEEE Computer Society, Washington, DC, USA, 12--18.
[9]
Jing Dong, Yajing Zhao, and Tu Peng. 2007. Architecture and Design Pattern Discovery Techniques-A Review. In International Conference on Software Engineering Research and Practice (SERP). 621--627.
[10]
Rudolf Ferenc and Árpád Beszédes. 2002. Data Exchange with The Columbus Schema for C++. In Proceedings of Sixth European Conference on Software Maintenance and Reengineering. IEEE Computer Society, 59--66.
[11]
Rudolf. Ferenc, Árpád Beszédes, M. Tarkiainen, and Tibor. Gyimóthy. 2002. Columbus-reverse Engineering Tool and Schema for C++. In Proceedings of International Conference on Software Maintenance. IEEE, 172--181.
[12]
Lajos Jeno Fulop, Tamas Gyovai, and Rudolf Ferenc. 2006. Evaluating C++ Design Pattern Miner Tools. In SCAM '06: Proceedings of the Sixth IEEE International Workshop on Source Code Analysis and Manipulation. IEEE Computer Society, Washington, DC, USA, 127--138.
[13]
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley.
[14]
Yann-Gael Gueheneuc and Giuliano Antoniol. 2008. DeMIMA: A Multilayered Approach for Design Pattern Identification. IEEE Transactions on Software Engineering 34 (2008), 667--684.
[15]
Yann-Gael Gueheneuc, Houari Sahraoui, and Farouk Zaidi. 2004. Fingerprinting Design Patterns. In WCRE '04: Proceedings of the 11th Working Conference on Reverse Engineering. IEEE Computer Society, Washington, DC, USA, 172--181.
[16]
Dirk Heuzeroth, Thomas Holl, Gustav Högström, and Welf Löwe. 2003. Automatic Design Pattern Detection. In 11th IEEE International Workshop on Program Comprehension 2003. IEEE, 94--103.
[17]
Olivier Kaczor, Yann-Gael Gueheneuc, and Sylvie Hamel. 2006. Efficient Identification of Design Patterns with Bit-vector Algorithm. In CSMR '06: Proceedings of the Conference on Software Maintenance and Reengineering. IEEE Computer Society, Washington, DC, USA, 175--184.
[18]
Niklas Pettersson, Welf Löwe, and Joakim Nivre. 2010. Evaluation of Accuracy in Design Pattern Occurrence Detection. IEEE Transactions on Software Engineering 36, 4 (July 2010), 575--590.
[19]
Nija Shi and Ronald A. Olsson. 2006. Reverse Engineering of Design Patterns from Java Source Code. In ASE '06: Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering. IEEE Computer Society, Washington, DC, USA, 123--134.
[20]
Stephen Stelting and Olav Maassen. 2001. Applied Java Patterns. Prentice Hall Professional Technical Reference.
[21]
Nikolaos Tsantalis, Alexander Chatzigeorgiou, George Stephanides, and Spyros T. Halkidis. 2006. Design Pattern Detection Using Similarity Scoring. IEEE Trans. Softw. Eng. 32, 11 (2006), 896--909.
[22]
Ian H. Witten and Eibe Frank. 1999. Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations. (1999).
[23]
Shouzheng Yang. 2012. A Model for The Evaluation of Design Pattern Detection Results. Master's thesis. York University. Available online at http://www.cse.yorku.ca/~bil/YangThesis.pdf.
[24]
Shouzheng Yang, Ayesha Manzer, and Vassilios Tzerpos. 2015. Measuring the Quality of Design Pattern Detection Results. In Proceedings of The 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering. 53--62.
[25]
Guéhéneuc Yann-Gaël and Jussien Narendra. 2001. Using Explanations for Design Patterns Identification. In 1st IJCAI Workshop on Modeling and Solving Problems with Constraints. AAAI, 57--64.

Cited By

View all
  • (2022)A Study: Design Patterns Detection Approaches and Impact on Software QualityFrontiers in Software Engineering10.1007/978-3-030-93135-3_6(84-96)Online publication date: 6-Jan-2022

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '18: Proceedings of the 33rd Annual ACM Symposium on Applied Computing
April 2018
2327 pages
ISBN:9781450351911
DOI:10.1145/3167132
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 April 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. design pattern detection
  2. design pattern instance presentation
  3. reverse engineering

Qualifiers

  • Research-article

Conference

SAC 2018
Sponsor:
SAC 2018: Symposium on Applied Computing
April 9 - 13, 2018
Pau, France

Acceptance Rates

Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)A Study: Design Patterns Detection Approaches and Impact on Software QualityFrontiers in Software Engineering10.1007/978-3-030-93135-3_6(84-96)Online publication date: 6-Jan-2022

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media