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

Application programming interfaces (API)

Cite this

Businge, J., Serebrenik, A., & Brand, van den, M. G. J. (2012). Eclipse API usage: the good and the bad. In Y. Kanellopoulos, & Y. Yu (Eds.), Proceedings of the Sixth International Workshop on Software Quality and Maintainability (SQM 2012, Szeged, Hungary, March 27, 2012; satellite event of CSMR 2012) (pp. 1-9)
Businge, J. ; Serebrenik, A. ; Brand, van den, M.G.J. / Eclipse API usage: the good and the bad. Proceedings of the Sixth International Workshop on Software Quality and Maintainability (SQM 2012, Szeged, Hungary, March 27, 2012; satellite event of CSMR 2012). editor / Y. Kanellopoulos ; Y. Yu. 2012. pp. 1-9
@inproceedings{de747f363ef74cae9c2c487e2756cca8,
title = "Eclipse API usage: the good and the bad",
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.",
author = "J. Businge and A. Serebrenik and {Brand, van den}, M.G.J.",
year = "2012",
language = "English",
pages = "1--9",
editor = "Y. Kanellopoulos and Y. Yu",
booktitle = "Proceedings of the Sixth International Workshop on Software Quality and Maintainability (SQM 2012, Szeged, Hungary, March 27, 2012; satellite event of CSMR 2012)",

}

Businge, J, Serebrenik, A & Brand, van den, MGJ 2012, Eclipse API usage: the good and the bad. in Y Kanellopoulos & Y Yu (eds), Proceedings of the Sixth International Workshop on Software Quality and Maintainability (SQM 2012, Szeged, Hungary, March 27, 2012; satellite event of CSMR 2012). pp. 1-9, conference; Sixth International Workshop on Software Quality and Maintainability (SQM 2012); 2012-03-27; 2012-03-27, 27/03/12.

Eclipse API usage: the good and the bad. / Businge, J.; Serebrenik, A.; Brand, van den, M.G.J.

Proceedings of the Sixth International Workshop on Software Quality and Maintainability (SQM 2012, Szeged, Hungary, March 27, 2012; satellite event of CSMR 2012). ed. / Y. Kanellopoulos; Y. Yu. 2012. p. 1-9.

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

TY - GEN

T1 - Eclipse API usage: the good and the bad

AU - Businge, J.

AU - Serebrenik, A.

AU - Brand, van den, M.G.J.

PY - 2012

Y1 - 2012

N2 - 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.

AB - 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.

M3 - Conference contribution

SP - 1

EP - 9

BT - Proceedings of the Sixth International Workshop on Software Quality and Maintainability (SQM 2012, Szeged, Hungary, March 27, 2012; satellite event of CSMR 2012)

A2 - Kanellopoulos, Y.

A2 - Yu, Y.

ER -

Businge J, Serebrenik A, Brand, van den MGJ. Eclipse API usage: the good and the bad. In Kanellopoulos Y, Yu Y, editors, Proceedings of the Sixth International Workshop on Software Quality and Maintainability (SQM 2012, Szeged, Hungary, March 27, 2012; satellite event of CSMR 2012). 2012. p. 1-9