Can We Find Stable Alternatives For Unstable Eclipse Interfaces?

Loading...
Thumbnail Image
Date
2016
Journal Title
Journal ISSN
Volume Title
Publisher
IEEE
Abstract
The Eclipse framework is a popular and widely adopted framework that has been evolving for over a decade. Like many other evolving software systems, the Eclipse framework provides both stable and supported interfaces (APIs) and unstable, discouraged, and unsupported interfaces (non- APIs). However, despite being discouraged by Eclipse, the usage of bad interfaces is not uncommon. Our previous research has confirmed t hat a s E clipse s tates, i ndeed A PIs a re stable while non-APIs are unstable. Applications using non-APIs face compatibility challenges in new Eclipse releases. Furthermore, our previous studies further revealed that the reason why application developers use the unstable interfaces is because they cannot find s table i nterfaces w ith t he f unctionality t hat they require. Moreover, in a study we conducted, Eclipse application developers stated that they manually find t he functionality from Eclipse. Eclipse being a very large complex software system with a large number of committers, we hypothesize that as developers manually search for the functionality they they require, it is possible that they miss stable interfaces offering the same functionality. To this end, using code clone detection techniques, we analyzed 18 major releases of Eclipse for possible clones. Our findings a re t hree fold: i ) we discover that indeed there exist clones in Eclipse, ii) we also discovered that some of the identified c lones o riginate f rom different Eclipse projects, iii) our findings r eveal t hat t here i s no significant number of APIs (less than 1%) offering the same or similar functionality as the non-APIs in all Eclipse releases we studied. This reveals that there are very few syntactic clones between API and non-API, thus developers were forced to either use non-API or find a n API t hat e xists, t hat i s similar in functionality, but not in syntax.
Description
Keywords
Eclipse, Stable Interfaces, Unstable interfaces, Code clone, Evolution
Citation
Kawuma, S., Businge, J., & Bainomugisha, E. (2016, May). Can we find stable alternatives for unstable Eclipse interfaces?. In 2016 IEEE 24th international conference on program comprehension (ICPC) (pp. 1-10). IEEE.