Trust of a Library: A Study of Maven Release Latency

Slide Note
Embed
Share

The study explores the latency in adopting the latest Maven release and the importance of adopting libraries in software development. It discusses the benefits of library reuse, challenges in managing dependencies, and the decision-making process for system maintainers regarding updates and breaking changes. Additionally, it introduces the notion of trust as a metric for adoption and categorizes trust into four types based on functionality and compatibility.


Uploaded on Sep 30, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Trust of a Library: A Study of the Latency to Adopt the Latest Maven Release Raula Gaikovina Kula, Daniel German, Takashi Ishio, Katsuro Inoue Osaka University, Japan SANER2015-ERA Track 9/30/2024 1

  2. Software Library Reuse Developer Next System Release Adopt 3rd party libraries from Previous System Version Why adopt libraries? o extended features o inherited quality o time/effort cost efficient o avoid reinvent wheel 9/30/2024 2

  3. Software Systems System library As the system evolves, more libraries are added. As the system evolves, dependencies can become complex

  4. Dependency Management Tools to the rescue Build tools such as Maven and Gradle allow for management of library dependencies 9/30/2024 4

  5. If, When and What to update?? As the system evolves, dependencies can become complex At the same time As libraries evolve, Library Updates to fix bugs and new features 9/30/2024 5

  6. System Maintainers are wary beings But any changes may disrupt dependencies: aka breaking changes System Maintainer needs to decide `if , `when and `what to update? Our previous work + related works suggests breaking changes and systems still using older versions 9/30/2024 6

  7. Notion of Trust as a metric Trusted Adoption: When the latest adoption is adopted Latent Adoption: When previous releases are adopted Assist with the `if , `when and `what to update questions 9/30/2024 7

  8. Four types of trust 1. Do exactly what it says Functional and non-functional specification Major: Minor: Patch (SemVer) API Documentation 2. Play with others Volatile to current system environment Incompatibilities with other library transitive and non-transitive dependencies (Example: asm backward compatibility) 9/30/2024 8

  9. Four types of trust 3. Prior Engagements Loyalty to a release version based on previous experiences. Wary of other new libraries and rather stick to familiar libraries 4. Tried and tested Common belief that the latest release may contain untested bugs. Prefer to adopt release versions 1 or 2 releases behind the latest. 9/30/2024 9

  10. Guiding Research Questions for this study 1. How much latent adoption exists? 2. What is the current trend of maintainers trust? 9/30/2024 10

  11. All about Systems and Libraries 9/30/2024 11

  12. Research Approach 9/30/2024 12

  13. Empirical Study pom.xml Maven Dataset Time Period 2005-11-03 ~ 2013-11-24 # of Dependency Relations 188,951 # of Systems 6,374 # of libraries 5,146 9/30/2024 13

  14. Results Trusted Dependency Classifications # of libraries # of dependencies (%) iniTA 4,192 20, 372 (56.63%) iniLA 848 13, 791 (40.37%) introTA 3,064 29,303 (81.16%) introLA 823 6,543 (18.24%) 9/30/2024 14

  15. Adoption Trends over time 9/30/2024 15

  16. Back to RQs 1. How much latent adoption exists? It is common, almost 40% at initial conception as compared to introduced. 2. Over time, maintainers are more inclined to adopt the latest release (trusted dependency adoptions). What is the current trend of maintainers trust? 9/30/2024 16

  17. End Thoughts 9/30/2024 17

Related


More Related Content