Can We Find Stable Alternatives For Unstable Eclipse Interfaces?
Loading...
Date
2016
Authors
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.