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

Design pattern detection using FINDER

Published: 13 April 2015 Publication History

Abstract

This paper introduces the FINDER tool that detects 22 out of 23 GoF design patterns in Java systems using fine-grained static analysis. FINDER extracts static facts from the system at hand. These facts are then evaluated against the design pattern detection scripts to produce a list of design pattern candidates. The tool has been evaluated by applying it to several open source systems. In this paper, we present one such case study that compares FINDER to other existing design pattern detection tools.

References

[1]
G. Antoniol, R. Fiutem, and L. Cristoforetti. Using Metrics to Identify Design Patterns in Object-Oriented Software. In METRICS '98: Proceedings of the 5th International Symposium on Software Metrics, page 23, Washington, DC, USA, 1998. IEEE Computer Society.
[2]
J. Bloch. Effective Java. Prentice Hall, 2 edition, 2008.
[3]
G. Costagliola, A. De Lucia, V. Deufemia, C. Gravino, and M. Risi. Design Pattern Recovery by Visual Language Parsing. In CSMR '05: Proceedings of the Ninth European Conference on Software Maintenance and Reengineering, pages 102--111, Washington, DC, USA, 2005. IEEE Computer Society.
[4]
I. G. Czibula and G. Serban. Hierarchical Clustering Based Design Patterns Identification. International Journal of Computers, Communications and Control, 3: 248--252, 2008.
[5]
J. Dong, D. S. Lad, and Y. Zhao. 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, pages 371--380, Washington, DC, USA, 2007. IEEE Computer Society.
[6]
J. Fabry and T. Mens. Language-Independent Detection of Object-Oriented Design Patterns. Computer Languages, Systems and Structures, 30(1--2): 21--33, 2004. Smalltalk Language.
[7]
L. J. Fulop, R. Ferenc, and T. Gyimothy. Towards a Benchmark for Evaluating Design Pattern Miner Tools. In CSMR '08: Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering, pages 143--152, Washington, DC, USA, 2008. IEEE Computer Society.
[8]
L. J. Fulop, T. Gyovai, and R. Ferenc. Evaluating C++ Design Pattern Miner Tools. In SCAM '06: Proceedings of the Sixth IEEE International Workshop on Source Code Analysis and Manipulation, pages 127--138, Washington, DC, USA, 2006. IEEE Computer Society.
[9]
Y.-G. Gueheneuc and G. Antoniol. DeMIMA: A Multilayered Approach for Design Pattern Identification. IEEE Transactions on Software Engineering, 34: 667--684, 2008.
[10]
Y.-G. Gueheneuc, H. Sahraoui, and F. Zaidi. Fingerprinting Design Patterns. In WCRE '04: Proceedings of the 11th Working Conference on Reverse Engineering, pages 172--181, Washington, DC, USA, 2004. IEEE Computer Society.
[11]
D. Heuzeroth, T. Holl, G. Högström, and W. Löwe. Automatic Design Pattern Detection. In IWPC '03: Proceedings of the 11th IEEE International Workshop on Program Comprehension, page 94, Washington, DC, USA, 2003. IEEE Computer Society.
[12]
O. Kaczor, Y.-G. Gueheneuc, and S. Hamel. Efficient Identification of Design Patterns with Bit-vector Algorithm. In CSMR '06: Proceedings of the Conference on Software Maintenance and Reengineering, pages 175--184, Washington, DC, USA, 2006. IEEE Computer Society.
[13]
G. Kniesel and A. Binun. Standing on the Shoulders of Giants - A Data Fusion Approach to Design Pattern Detection. In Program Comprehension, 2009. ICPC '09. IEEE 17th International Conference on Program Comprehension, pages 208--217, 2009.
[14]
I. Philippow, D. Streitferdt, M. Riebisch, and S. Naumann. An Approach for Reverse Engineering of Design Patterns. Software and Systems Modeling, 4(1):55--70, February 2005.
[15]
N. Shi and R. A. Olsson. Reverse Engineering of Design Patterns from Java Source Code. In ASE '06: Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering, pages 123--134, Washington, DC, USA, 2006. IEEE Computer Society.
[16]
J. M. Smith and D. Stotts. SPQR: Flexible Automated Design Pattern Extraction From Source Code. Automated Software Engineering, International Conference on, 0: 215, 2003.
[17]
N. Tsantalis, A. Chatzigeorgiou, G. Stephanides, and S. T. Halkidis. Design Pattern Detection Using Similarity Scoring. IEEE Trans. Softw. Eng., 32(11):896--909, 2006.

Cited By

View all
  • (2024)A Blockchain Approach to Extract Design Patterns From Source CodesModelling and Simulation in Engineering10.1155/2024/49921692024Online publication date: 1-Jan-2024
  • (2024)Detecting Design Patterns in Android Applications with CodeBERT Embeddings and CK MetricsAnalysis of Images, Social Networks and Texts10.1007/978-3-031-54534-4_19(267-280)Online publication date: 12-Mar-2024
  • (2023)A Systematic Review on Software Design Patterns in Today's Perspective2023 IEEE 11th International Conference on Serious Games and Applications for Health (SeGAH)10.1109/SeGAH57547.2023.10253758(1-8)Online publication date: 28-Aug-2023
  • Show More Cited By

Index Terms

  1. Design pattern detection using FINDER

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SAC '15: Proceedings of the 30th Annual ACM Symposium on Applied Computing
    April 2015
    2418 pages
    ISBN:9781450331968
    DOI:10.1145/2695664
    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: 13 April 2015

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. design pattern detection
    2. fine-grained static analysis

    Qualifiers

    • Research-article

    Conference

    SAC 2015
    Sponsor:
    SAC 2015: Symposium on Applied Computing
    April 13 - 17, 2015
    Salamanca, Spain

    Acceptance Rates

    SAC '15 Paper Acceptance Rate 291 of 1,211 submissions, 24%;
    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)14
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 15 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)A Blockchain Approach to Extract Design Patterns From Source CodesModelling and Simulation in Engineering10.1155/2024/49921692024Online publication date: 1-Jan-2024
    • (2024)Detecting Design Patterns in Android Applications with CodeBERT Embeddings and CK MetricsAnalysis of Images, Social Networks and Texts10.1007/978-3-031-54534-4_19(267-280)Online publication date: 12-Mar-2024
    • (2023)A Systematic Review on Software Design Patterns in Today's Perspective2023 IEEE 11th International Conference on Serious Games and Applications for Health (SeGAH)10.1109/SeGAH57547.2023.10253758(1-8)Online publication date: 28-Aug-2023
    • (2021)A General Framework to Detect Design Patterns by Combining Static and Dynamic Analysis TechniquesInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402140002731:01(21-54)Online publication date: 4-Feb-2021
    • (2021)GEML: A grammar-based evolutionary machine learning approach for design-pattern detectionJournal of Systems and Software10.1016/j.jss.2021.110919175(110919)Online publication date: May-2021
    • (2019)Detecting Behavioral Design Patterns from Software Execution DataEvaluation of Novel Approaches to Software Engineering10.1007/978-3-030-22559-9_7(137-164)Online publication date: 29-Jun-2019
    • (2018)A model for analysis and presentation of design pattern detection resultsProceedings of the 33rd Annual ACM Symposium on Applied Computing10.1145/3167132.3167292(1500-1509)Online publication date: 9-Apr-2018
    • (2018)What Do We Know about the Tools of Detecting Design Patterns?2018 IEEE International Conference on Progress in Informatics and Computing (PIC)10.1109/PIC.2018.8706318(379-387)Online publication date: Dec-2018
    • (2017)Design patterns detection based on its domain2017 8th International Conference on Information Technology (ICIT)10.1109/ICITECH.2017.8080017(304-308)Online publication date: May-2017

    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