Co-evolution of the Eclipse Framework and its Third-party Plug-ins

John Businge

Promotores: prof.dr. M.G.J. van den Brand (TU/e) and T.P. van der Weide (RU)
Co-promotor: dr. A. Serebrenik (TU/e)
Technische Universiteit Eindhoven
Date: 4 July, 2013, 16:00


The research conducted in this thesis aims at quantifying/qualifying the challenges faced by software developers building systems on top of application frameworks, in general, and specifically, Eclipse. We have observed that the use of bad Eclipse interfaces, i.e., unstable, discouraged and unsupported interfaces, results in incompatibilities of the systems built on top of Eclipse and the new releases of Eclipse. Despite major maintainability risks inherent to the use of bad interfaces, developers prefer to use them due to uniqueness of the functionality provided by these interfaces. Furthermore, we have observed that older bad interfaces are less likely to introduce incompatibilities. We have developed a statistical model predicting the likelihood of a system to remain compatible with a new release of Eclipse. Using this model both the system developers and the system users can decide whether to upgrade Eclipse to a new release.