CS Colloquium Speaker: Dr. John Businge from Mbarara University of Science and Technology
Host: Prof. Vladimir Filkov
When: Thursday, March 3rd at 3:10pm
Where: 1131 Kemper Hall
Co-evolution of the Eclipse Framework and its Third-party Plug-ins
In this talk I will present the work that I have done related to “the use of Eclipse SDK APIs by third-party plug-in developers”. The Eclipse application framework is a popular software system that has been evolving for over a decade since 2001. Thousands of Eclipse third-party plug-ins (ETPs) have been developed on top of Eclipse to reuse the interfaces it provides. Eclipse guidelines distinguish between two types of interfaces provided to third-party developers, i.e., APIs and non-APIs. APIs are stable and supported, while non-APIs are unstable, unsupported and discouraged as they are subject to arbitrary change or removal without notice. In our study, we analyzed a total 467 ETPs altogether having 1,447 versions. We classify these ETPs into two categories: those that depend on only stable and supported Eclipse APIs (ETP-APIs) and those that depend on at least one of the potentially unstable, discouraged and unsupported Eclipse non-APIs (ETP-non-APIs). Comparing the two categories of plug-ins, we observed that the plug-ins depending solely on APIs have a very high source compatibility success rate compared to those that depend on at least one of the non-APIs. However, we have also observed that recently released plug-ins that depend on non-APIs also have a very high forward source compatibility success rate. This high source compatibility success rate is due to the dependency structure of these plug-ins: recently released plug-ins that depend on non-APIs predominantly depend on old Eclipse non-APIs rather than on newly introduced ones. Furthermore, as a follow-up study, we carried out a survey to unearth reasons why ETP developers use unstable, unsupported Eclipse non-APIs. We discovered that while for less experienced ETP developers’ instability of the non-APIs overshadows their benefits, more experienced developers prefer to enjoy the benefits of non-APIs despite the instability problem.
John is a visiting Fulbright research scholar from Mbarara University of Science and Technlogy (MUST), Mbarara, Uganda. John finished his BSc in Computer Science from Makerere University, Kampala, Uganda in 2002. He taught for two years in MUST and later went to do his Masters’ degree from University of Groningen in the Netherlands–2004-2006. He thereafter went back to MUST and taught 2 years and a half. In September 2009 he returned to the Netherlands in Endhoven University of Technology to pursue his PhD where he graduated in 2013. Currently John is a senior lecturer in at MUST. His research interests falls mainly Framework ecosystems and mining Open Source Software Systems.
1131 Kemper Hall