An Empirical Evaluation of OSGi Dependencies Best Practices in the Eclipse IDE

Autor: Thomas Degueule, Jurgen Vinju, Lina Ochoa
Přispěvatelé: Centrum Wiskunde & Informatica (CWI), Eindhoven University of Technology [Eindhoven] (TU/e), Software Engineering and Technology, Centrum Wiskunde & Informatica, Amsterdam (CWI), The Netherlands
Jazyk: angličtina
Rok vydání: 2018
Předmět:
Zdroj: 15th International Conference on Mining Software Repositories
15th International Conference on Mining Software Repositories, May 2018, Gothenburg, Sweden. ⟨10.1145/3196398.3196416⟩
Proceedings of the 15th International Conference on Mining Software Repositories
Proceedings of the 15th International Conference on Mining Software Repositories -MSR '18
Proceedings of the 15th International Conference on Mining Software Repositories-MSR 18
MSR
2018 ACM/IEEE 15th International Conference on Mining Software Repositories, MSR 2018, 170-180
STARTPAGE=170;ENDPAGE=180;TITLE=2018 ACM/IEEE 15th International Conference on Mining Software Repositories, MSR 2018
DOI: 10.1145/3196398.3196416⟩
Popis: International audience; 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.
Databáze: OpenAIRE