Developing tools as plug-ins: TOPI 2011 special issue editorial


Correspondence to: Judith Bishop, Microsoft Research, Redmond, WA, USA.



Our knowledge of how to solve software engineering problems is increasingly being encapsulated in tools. These tools are at their strongest when they operate in a pre-existing integrated development environment (IDE). This approach allows integration with existing elements such as compilers, debuggers, profilers, visualizers, and numerous other development and, often, runtime tools. Tools and environments to increase software quality and productivity have always been an important aspect of software engineering. A plug-in is a modern way for incrementally adding new tools into existing environments. However, building tools as plug-ins can be challenging. How do they interact with the core environment? How do they interact with one another - especially since each developer may choose a different set of plug-ins? How can we share tools across different, and future, core development environments?

The Special Issue Papers

The 1st Workshop on Tools as Plug-ins (TOPI 2011) was held in Honolulu, USA, on 28 May 2011. The workshop received 32 submissions from 21 countries. They attested to the interest in the topic and to the diversity of integrated development environments (IDEs) currently in use today, including Visual Studio 2010, Eclipse, and MonoDevelop. Each paper was reviewed by three members of the Program Committee, and 22 were presented at the workshop. These papers addressed the following themes:

  • identifying recent successful tools as plug-ins,
  • categorizing the characteristics of good plug-ins,
  • understanding interoperability requirements for making tools available across platforms,
  • listing which tools lend themselves best to the plug-in approach, and
  • specifying the medium-term and long-term challenges of tools as plug-ins.

From these papers, a selection was made for extended submission, and finally, six papers were chosen for this special issue. Ameller et al. [[1]] looked at how the three-layer architectural pattern can be developed using plug-ins. They compared two extreme alternatives according to several representative scenarios and implemented a plug-in-based tool for managing architectural knowledge by using Eclipse. Turning to education, de Caso et al. [[2]] reported on their experience by using the verifying compiler for PEST and its crucial role played by the integration of this verifying compiler with the Eclipse IDE. Acknowledging that integrating tools as plug-ins is actually a complex activity, Mariani and Pastore [[3]] presented MASH, a framework that extends IDEs with task-based plug-ins and workflows. We validated our idea with two case studies examining the design of two data-driven analyses as tool integration.

Next, Marx et al. [[4]] introduced an Eclipse plug-in that supports the RDB2RDF conversion process. The process of transforming data stored in relational databases (RDBs) into sets of Resource Description Framework (RDF) triples is known as RDB2RDF with a standard language, called R2RML, to describe RDB2RDF mapping files. Soares et al. [[5]] described a plug-in API, life cycle, and control model for the Ginga terrestrial digital TV (DTV) system, as well as discussed how the architecture can be extended to other software systems, in particular to other DTV middleware systems. Finally, in an overview paper, Zhao et al. [[6]] discussed some features that IDEs should provide to support the development of plug-ins that implement program analysis and software testing techniques.


We would like to thank the program committee and the additional reviewers mentioned who are named in the Workshop Editorial [[7]].