AspectBrowser for Eclipse: a case study in plug-in retargeting

A powerful feature of Eclipse is its plug-in architecture for incorporating third-party tools. An important source of plug-ins is standalone tools that were developed prior to the release of Eclipse. However, such tools inevitably incorporate features that Eclipse provides natively, requiring rework to rehost those features to Eclipse.In our retarget of the AspectBrowser application to Eclipse, we found not only an unexpected number of deeply ingrained features that needed to be rehosted, but also numerous GUI and architectural mismatches between AspectBrowser's version of these features and Eclipse's. By judiciously resolving these issues, we were able to minimize their impact on the AspectBrowser base code, and still reap significant benefits from Eclipse's high level of plug-in integration. For example, AspectBrowser is able to function as a viewer for any existing plug-in that produces Eclipse resource markers.This paper describes the insights gained from retargeting AspectBrowser to Eclipse and provides guidelines to those retargeting tools to Eclipse. We also reflect on the importance of recent improvements to Eclipse in this process, and what additional improvements could be made.