Design pattern detection using software metrics and machine learning

Satoru Uchiyama, Hironori Washizaki, Yoshiaki Fukazawa, Atsuto Kubo

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    4 Citations (Scopus)

    Abstract

    The understandability, maintainability, and reusability of object-oriented programs could be improved by automatically detecting well-known design patterns in programs. Many existing detection techniques are based on static analysis and use strict conditions composed of class structure data. Hence, it is difficult for them to detect design patterns in which the class structures are similar. Moreover, it is difficult for them to deal with diversity in design pattern applications. We propose a design pattern detection technique using metrics and machine learning. Our technique judges candidates for the roles that compose the design patterns by using machine learning and measurements of metrics, and it detects design patterns by analyzing the relations between candidates. It suppresses false negatives and distinguishes patterns in which the class structures are similar. We conducted experiments that showed that our technique was more accurate than two previous techniques.

    Original languageEnglish
    Title of host publicationCEUR Workshop Proceedings
    Pages38-47
    Number of pages10
    Volume708
    Publication statusPublished - 2011
    EventJoint 1st Int. Workshop on Model-Driven Software Migration, MDSM 2011 and the 5th International Workshop on Software Quality and Maintainability, SQM 2011 - Workshops at the 15th European Conf. on Software Maintenance and Reengineering, CSMR 2011 - Oldenburg, Germany
    Duration: 2011 Mar 12011 Mar 1

    Other

    OtherJoint 1st Int. Workshop on Model-Driven Software Migration, MDSM 2011 and the 5th International Workshop on Software Quality and Maintainability, SQM 2011 - Workshops at the 15th European Conf. on Software Maintenance and Reengineering, CSMR 2011
    CountryGermany
    CityOldenburg
    Period11/3/111/3/1

    Fingerprint

    Learning systems
    Maintainability
    Reusability
    Static analysis
    Experiments

    Keywords

    • Component
    • Design pattern
    • Machine learning
    • Object-oriented software
    • Software metrics

    ASJC Scopus subject areas

    • Computer Science(all)

    Cite this

    Uchiyama, S., Washizaki, H., Fukazawa, Y., & Kubo, A. (2011). Design pattern detection using software metrics and machine learning. In CEUR Workshop Proceedings (Vol. 708, pp. 38-47)

    Design pattern detection using software metrics and machine learning. / Uchiyama, Satoru; Washizaki, Hironori; Fukazawa, Yoshiaki; Kubo, Atsuto.

    CEUR Workshop Proceedings. Vol. 708 2011. p. 38-47.

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    Uchiyama, S, Washizaki, H, Fukazawa, Y & Kubo, A 2011, Design pattern detection using software metrics and machine learning. in CEUR Workshop Proceedings. vol. 708, pp. 38-47, Joint 1st Int. Workshop on Model-Driven Software Migration, MDSM 2011 and the 5th International Workshop on Software Quality and Maintainability, SQM 2011 - Workshops at the 15th European Conf. on Software Maintenance and Reengineering, CSMR 2011, Oldenburg, Germany, 11/3/1.
    Uchiyama S, Washizaki H, Fukazawa Y, Kubo A. Design pattern detection using software metrics and machine learning. In CEUR Workshop Proceedings. Vol. 708. 2011. p. 38-47
    Uchiyama, Satoru ; Washizaki, Hironori ; Fukazawa, Yoshiaki ; Kubo, Atsuto. / Design pattern detection using software metrics and machine learning. CEUR Workshop Proceedings. Vol. 708 2011. pp. 38-47
    @inproceedings{21880a9b924649b88175d28f9cbeca7a,
    title = "Design pattern detection using software metrics and machine learning",
    abstract = "The understandability, maintainability, and reusability of object-oriented programs could be improved by automatically detecting well-known design patterns in programs. Many existing detection techniques are based on static analysis and use strict conditions composed of class structure data. Hence, it is difficult for them to detect design patterns in which the class structures are similar. Moreover, it is difficult for them to deal with diversity in design pattern applications. We propose a design pattern detection technique using metrics and machine learning. Our technique judges candidates for the roles that compose the design patterns by using machine learning and measurements of metrics, and it detects design patterns by analyzing the relations between candidates. It suppresses false negatives and distinguishes patterns in which the class structures are similar. We conducted experiments that showed that our technique was more accurate than two previous techniques.",
    keywords = "Component, Design pattern, Machine learning, Object-oriented software, Software metrics",
    author = "Satoru Uchiyama and Hironori Washizaki and Yoshiaki Fukazawa and Atsuto Kubo",
    year = "2011",
    language = "English",
    volume = "708",
    pages = "38--47",
    booktitle = "CEUR Workshop Proceedings",

    }

    TY - GEN

    T1 - Design pattern detection using software metrics and machine learning

    AU - Uchiyama, Satoru

    AU - Washizaki, Hironori

    AU - Fukazawa, Yoshiaki

    AU - Kubo, Atsuto

    PY - 2011

    Y1 - 2011

    N2 - The understandability, maintainability, and reusability of object-oriented programs could be improved by automatically detecting well-known design patterns in programs. Many existing detection techniques are based on static analysis and use strict conditions composed of class structure data. Hence, it is difficult for them to detect design patterns in which the class structures are similar. Moreover, it is difficult for them to deal with diversity in design pattern applications. We propose a design pattern detection technique using metrics and machine learning. Our technique judges candidates for the roles that compose the design patterns by using machine learning and measurements of metrics, and it detects design patterns by analyzing the relations between candidates. It suppresses false negatives and distinguishes patterns in which the class structures are similar. We conducted experiments that showed that our technique was more accurate than two previous techniques.

    AB - The understandability, maintainability, and reusability of object-oriented programs could be improved by automatically detecting well-known design patterns in programs. Many existing detection techniques are based on static analysis and use strict conditions composed of class structure data. Hence, it is difficult for them to detect design patterns in which the class structures are similar. Moreover, it is difficult for them to deal with diversity in design pattern applications. We propose a design pattern detection technique using metrics and machine learning. Our technique judges candidates for the roles that compose the design patterns by using machine learning and measurements of metrics, and it detects design patterns by analyzing the relations between candidates. It suppresses false negatives and distinguishes patterns in which the class structures are similar. We conducted experiments that showed that our technique was more accurate than two previous techniques.

    KW - Component

    KW - Design pattern

    KW - Machine learning

    KW - Object-oriented software

    KW - Software metrics

    UR - http://www.scopus.com/inward/record.url?scp=84891920848&partnerID=8YFLogxK

    UR - http://www.scopus.com/inward/citedby.url?scp=84891920848&partnerID=8YFLogxK

    M3 - Conference contribution

    AN - SCOPUS:84891920848

    VL - 708

    SP - 38

    EP - 47

    BT - CEUR Workshop Proceedings

    ER -