A third-party extension support framework using patterns

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

    Abstract

    Software extension is a fundamental challenge in software engineering which involves extending the functionalities of a software module without modifying it. Many modern software developers choose to adapt third-party extension platform to further improve customizability. As the project evolves, the requirements may change to include third-party extension support. However to design and to implement such platform is no trivial task, and should happen at the beginning of the project. In this paper, we have shown the four types of extensions that are often made to object-oriented software, namely Member Access Extension, Subclass Extension, Event-based Extension and Data Extension. And proposed a language-independent platform design that can be applied to an existing software project to support such third-party extensions. The platform exercises design patterns to implement its features. We also developed an Eclipse plugin that helps developers introduce the platform to existing Java software via semi-automatic code manipulation. We further conducted a comparative experiment to test our tool with volunteers from Waseda University and noticed a significant decrease of required effort.

    Original languageEnglish
    Title of host publicationProceedings - 22nd Asia-Pacific Software Engineering Conference, APSEC 2015
    PublisherIEEE Computer Society
    Pages198-205
    Number of pages8
    Volume2016-May
    ISBN (Electronic)9781467396448
    DOIs
    Publication statusPublished - 2016 May 9
    Event22nd Asia-Pacific Software Engineering Conference, APSEC 2015 - New Delhi, India
    Duration: 2015 Dec 12015 Dec 4

    Other

    Other22nd Asia-Pacific Software Engineering Conference, APSEC 2015
    CountryIndia
    CityNew Delhi
    Period15/12/115/12/4

    Fingerprint

    Software engineering
    Experiments

    Keywords

    • Design pattern
    • Extensibility
    • Extension
    • Plugin

    ASJC Scopus subject areas

    • Software

    Cite this

    Hao, Y., Washizaki, H., & Fukazawa, Y. (2016). A third-party extension support framework using patterns. In Proceedings - 22nd Asia-Pacific Software Engineering Conference, APSEC 2015 (Vol. 2016-May, pp. 198-205). [7467301] IEEE Computer Society. https://doi.org/10.1109/APSEC.2015.36

    A third-party extension support framework using patterns. / Hao, Yiyang; Washizaki, Hironori; Fukazawa, Yoshiaki.

    Proceedings - 22nd Asia-Pacific Software Engineering Conference, APSEC 2015. Vol. 2016-May IEEE Computer Society, 2016. p. 198-205 7467301.

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

    Hao, Y, Washizaki, H & Fukazawa, Y 2016, A third-party extension support framework using patterns. in Proceedings - 22nd Asia-Pacific Software Engineering Conference, APSEC 2015. vol. 2016-May, 7467301, IEEE Computer Society, pp. 198-205, 22nd Asia-Pacific Software Engineering Conference, APSEC 2015, New Delhi, India, 15/12/1. https://doi.org/10.1109/APSEC.2015.36
    Hao Y, Washizaki H, Fukazawa Y. A third-party extension support framework using patterns. In Proceedings - 22nd Asia-Pacific Software Engineering Conference, APSEC 2015. Vol. 2016-May. IEEE Computer Society. 2016. p. 198-205. 7467301 https://doi.org/10.1109/APSEC.2015.36
    Hao, Yiyang ; Washizaki, Hironori ; Fukazawa, Yoshiaki. / A third-party extension support framework using patterns. Proceedings - 22nd Asia-Pacific Software Engineering Conference, APSEC 2015. Vol. 2016-May IEEE Computer Society, 2016. pp. 198-205
    @inproceedings{eb00255283a24d0e940e5cee9cb1f819,
    title = "A third-party extension support framework using patterns",
    abstract = "Software extension is a fundamental challenge in software engineering which involves extending the functionalities of a software module without modifying it. Many modern software developers choose to adapt third-party extension platform to further improve customizability. As the project evolves, the requirements may change to include third-party extension support. However to design and to implement such platform is no trivial task, and should happen at the beginning of the project. In this paper, we have shown the four types of extensions that are often made to object-oriented software, namely Member Access Extension, Subclass Extension, Event-based Extension and Data Extension. And proposed a language-independent platform design that can be applied to an existing software project to support such third-party extensions. The platform exercises design patterns to implement its features. We also developed an Eclipse plugin that helps developers introduce the platform to existing Java software via semi-automatic code manipulation. We further conducted a comparative experiment to test our tool with volunteers from Waseda University and noticed a significant decrease of required effort.",
    keywords = "Design pattern, Extensibility, Extension, Plugin",
    author = "Yiyang Hao and Hironori Washizaki and Yoshiaki Fukazawa",
    year = "2016",
    month = "5",
    day = "9",
    doi = "10.1109/APSEC.2015.36",
    language = "English",
    volume = "2016-May",
    pages = "198--205",
    booktitle = "Proceedings - 22nd Asia-Pacific Software Engineering Conference, APSEC 2015",
    publisher = "IEEE Computer Society",
    address = "United States",

    }

    TY - GEN

    T1 - A third-party extension support framework using patterns

    AU - Hao, Yiyang

    AU - Washizaki, Hironori

    AU - Fukazawa, Yoshiaki

    PY - 2016/5/9

    Y1 - 2016/5/9

    N2 - Software extension is a fundamental challenge in software engineering which involves extending the functionalities of a software module without modifying it. Many modern software developers choose to adapt third-party extension platform to further improve customizability. As the project evolves, the requirements may change to include third-party extension support. However to design and to implement such platform is no trivial task, and should happen at the beginning of the project. In this paper, we have shown the four types of extensions that are often made to object-oriented software, namely Member Access Extension, Subclass Extension, Event-based Extension and Data Extension. And proposed a language-independent platform design that can be applied to an existing software project to support such third-party extensions. The platform exercises design patterns to implement its features. We also developed an Eclipse plugin that helps developers introduce the platform to existing Java software via semi-automatic code manipulation. We further conducted a comparative experiment to test our tool with volunteers from Waseda University and noticed a significant decrease of required effort.

    AB - Software extension is a fundamental challenge in software engineering which involves extending the functionalities of a software module without modifying it. Many modern software developers choose to adapt third-party extension platform to further improve customizability. As the project evolves, the requirements may change to include third-party extension support. However to design and to implement such platform is no trivial task, and should happen at the beginning of the project. In this paper, we have shown the four types of extensions that are often made to object-oriented software, namely Member Access Extension, Subclass Extension, Event-based Extension and Data Extension. And proposed a language-independent platform design that can be applied to an existing software project to support such third-party extensions. The platform exercises design patterns to implement its features. We also developed an Eclipse plugin that helps developers introduce the platform to existing Java software via semi-automatic code manipulation. We further conducted a comparative experiment to test our tool with volunteers from Waseda University and noticed a significant decrease of required effort.

    KW - Design pattern

    KW - Extensibility

    KW - Extension

    KW - Plugin

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

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

    U2 - 10.1109/APSEC.2015.36

    DO - 10.1109/APSEC.2015.36

    M3 - Conference contribution

    AN - SCOPUS:84974696011

    VL - 2016-May

    SP - 198

    EP - 205

    BT - Proceedings - 22nd Asia-Pacific Software Engineering Conference, APSEC 2015

    PB - IEEE Computer Society

    ER -