Analyzing the Eclipse API Usage: Putting the Developer in the Loop

Loading...
Thumbnail Image
Date
2013
Journal Title
Journal ISSN
Volume Title
Publisher
IEEE
Abstract
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 previous work, we found that despite the discouragement of Eclipse, the use of non-APIs in Eclipse third-party plug-ins (ETPs) is not uncommon. Furthermore, we found that these non-APIs are the main cause of ETP incompatibilities in forthcoming releases of the Eclipse. In the current work we conducted a survey aiming at understanding why do the ETP developers use non-APIs. We have observed that developers with a level of education of up to master degree have a tendency not to read product manuals/ guidelines. Furthermore, while for less experienced developers instability of the non-APIs overshadows their benefits, more experienced developers prefer to enjoy the benefits of non-APIs despite the instability problem. Finally, we have observed that there are no significant differences between Open Source and commercial Eclipse products in terms of awareness of Eclipse guidelines and interfaces, Eclipse product size and updating of Eclipse product in the new SDK releases.
Description
Keywords
Eclipse, APIs, non-APIs, Survey, Developers
Citation
Businge, J., Serebrenik, A., & van den Brand, M. (2013, March). Analyzing the Eclipse API usage: Putting the developer in the loop. In 2013 17th European Conference on Software Maintenance and Reengineering (pp. 37-46). IEEE.