Eclipse API usage: the good and the bad

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

Abstract

Today, when constructing a new software system, many developers build their systems on top of frameworks. Eclipse is such a framework that has been in existence for over a decade and has so far released 11 major releases. Like many other evolving software systems, the Eclipse platform has both stable and supported APIs ("good") and unstable, discouraged and unsupported non-APIs ("bad"). However, despite being discouraged by Eclipse, on our experience, the usage of "bad" APIs is relatively common in practice. In this paper, we study to what extent developers depend on "bad" non-APIs. We also study whether developers continue to use "bad" APIs, and what are the differences between the third-party plug-ins that use non-APIs and those that do not. Furthermore, we also study the commonly use "bad" APIs. To answer these questions, we have conducted an empirical investigation based on a total of 512 Eclipse third-party plug-ins, altogether having a total of 1,873 versions. We discovered that 44% of the 512 analyzed Eclipse third-party plug-ins depends on "bad" non-APIs and that developers continue to use "bad" non-APIs. The empirical study also shows that plug-ins that use or extend at least one "bad" non-API are comparatively larger and use more functionality from Eclipse than those that use only "good" APIs. Furthermore, the findings show that the third-party plug-ins use a diverse set of "bad" APIs. Keywords: Eclipse; Third-party plug-ins; APIs; non-APIs.
Original languageEnglish
Title of host publicationProceedings of the Sixth International Workshop on Software Quality and Maintainability (SQM 2012, Szeged, Hungary, March 27, 2012; satellite event of CSMR 2012)
EditorsY. Kanellopoulos, Y. Yu
Pages1-9
Publication statusPublished - 2012
Eventconference; Sixth International Workshop on Software Quality and Maintainability (SQM 2012); 2012-03-27; 2012-03-27 -
Duration: 27 Mar 201227 Mar 2012

Conference

Conferenceconference; Sixth International Workshop on Software Quality and Maintainability (SQM 2012); 2012-03-27; 2012-03-27
Period27/03/1227/03/12
OtherSixth International Workshop on Software Quality and Maintainability (SQM 2012)

Fingerprint Dive into the research topics of 'Eclipse API usage: the good and the bad'. Together they form a unique fingerprint.

Cite this