Genova, Italy Italy
Mar. 5, 2013 to Mar. 8, 2013
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/CSMR.2013.64
Today, when constructing a new software system, many developers build their systems on top of frameworks. Eclipse framework is one such popular and widely adopted framework that has been evolving for over a decade. Like many other evolving software systems, the Eclipse SDK framework has both stable and supported APIs (good interfaces) and unstable, discouraged and unsupported non-APIs (bad interfaces). However, despite being discouraged by Eclipse, in our experience, the usage of bad interfaces is not uncommon. In this thesis, by means of a series of empirical studies, we quantify/qualify some the challenges faced by Eclipse third-party plug-in developers in using the interfaces provided by the Eclipse SDK framework. Furthermore, we propose solutions to the identified challenges, like changes in development strategy to both interface providers and interface users. In particular, the lessons learned from this study can provide valuable information in particular to the interface providers, i.e., Eclipse SDK developers, and the interface uses, i.e., ETP developers, in co-evolving the Eclipse framework. In general, the lessons learned can be transferable to other framework ecosystem.
Evolution, Eclipse, APIs, non-APIs, Plug-ins
John Businge, "Co-evolution of the Eclipse SDK Framework and Its Third-Party Plug-Ins", CSMR, 2013, 2011 15th European Conference on Software Maintenance and Reengineering, 2011 15th European Conference on Software Maintenance and Reengineering 2013, pp. 427-430, doi:10.1109/CSMR.2013.64