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: |
Java
business.industry Computer science Best practice Software configuration management and version control systems 020207 software engineering 02 engineering and technology [INFO.INFO-SE]Computer Science [cs]/Software Engineering [cs.SE] Resolution (logic) Software_PROGRAMMINGTECHNIQUES Software libraries and repositories Core (game theory) Software 020204 information systems Bundle 0202 electrical engineering electronic engineering information engineering Software engineering business computer Dependency (project management) computer.programming_language Eclipse |
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 |
Externí odkaz: |