Abstract
OSGi is a module system and service framework that aims to fill Java's lack of support for modular development. Using OSGi, developers divide software into multiple bundles that declare constrained dependencies towards other bundles. However, there are various ways of declaring and managing such dependencies, and it can be confusing for developers to choose one over another. Over the course of time, experts and practitioners have defined "best practices" related to dependency management in OSGi. The underlying assumptions are that these best practices (i) are indeed relevant and (ii) help to keep OSGi systems manageable and efficient. In this paper, we investigate these assumptions by first conducting a systematic review of the best practices related to dependency management issued by the OSGi Alliance and OSGi-endorsed organizations. Using a large corpus of OSGi bundles (1,124 core plug-ins of the Eclipse IDE), we then analyze the use and impact of 6 selected best practices. Our results show that the selected best practices are not widely followed in practice. Besides, we observe that following them strictly reduces classpath size of individual bundles by up to 23% and results in up to ±13% impact on performance at bundle resolution time. In summary, this paper contributes an initial empirical validation of industry-standard OSGi best practices. Our results should influence practitioners especially, by providing evidence of the impact of these best practices in real-world systems.
| Original language | English |
|---|---|
| Title of host publication | 2018 ACM/IEEE 15th International Conference on Mining Software Repositories, MSR 2018 |
| Place of Publication | New York |
| Publisher | ACM/IEEE |
| Pages | 170-180 |
| Number of pages | 11 |
| ISBN (Electronic) | 978-1-4503-5716-6 |
| DOIs | |
| Publication status | Published - 28 May 2018 |
| Event | 15th ACM/IEEE International Conference on Mining Software Repositories, MSR 2018, co-located with the 40th International Conference on Software Engineering, ICSE 2018 - Gothenburg, Sweden Duration: 28 May 2018 → 29 May 2018 |
Conference
| Conference | 15th ACM/IEEE International Conference on Mining Software Repositories, MSR 2018, co-located with the 40th International Conference on Software Engineering, ICSE 2018 |
|---|---|
| Country/Territory | Sweden |
| City | Gothenburg |
| Period | 28/05/18 → 29/05/18 |
Fingerprint
Dive into the research topics of 'An empirical evaluation of OSGi dependencies best practices in the eclipse IDE'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver