A third-party extension support framework using patterns

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


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
EditorsJing Sun, Y. Raghu Reddy, Arun Bahulkar, Anjaneyulu Pasala
PublisherIEEE Computer Society
Number of pages8
ISBN (Electronic)9781467396448
Publication statusPublished - 2016 May 9
Event22nd Asia-Pacific Software Engineering Conference, APSEC 2015 - New Delhi, India
Duration: 2015 Dec 12015 Dec 4

Publication series

NameProceedings - Asia-Pacific Software Engineering Conference, APSEC
ISSN (Print)1530-1362


Other22nd Asia-Pacific Software Engineering Conference, APSEC 2015
CityNew Delhi


  • Design pattern
  • Extensibility
  • Extension
  • Plugin

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'A third-party extension support framework using patterns'. Together they form a unique fingerprint.

Cite this