Automating Dependency Updates in Practice: An Exploratory Study on GitHub Dependabot

06/15/2022
by   Runzhi He, et al.
0

Dependency management bots automatically open pull requests to update software dependencies on behalf of developers. Early research shows that developers are suspicious of updates performed by dependency management bots and feel tired of overwhelming notifications from these bots. Despite this, dependency management bots are becoming increasingly popular. Such contrast motivates us to investigate Dependabot, currently the most visible bot on GitHub, to reveal the effectiveness and limitations of state-of-art dependency management bots. We use exploratory data analysis and a developer survey to evaluate the effectiveness of Dependabot in keeping dependencies up-to-date, reducing update suspicion, and reducing notification fatigue. We obtain mixed findings. On the positive side, Dependabot is effective in reducing technical lag and developers are highly receptive to its pull requests. On the negative side, its compatibility scores are too scarce to be effective in reducing update suspicion; developers tend to configure Dependabot toward reducing the number of notifications; and 11.3 favor of other alternatives. The survey confirms our findings and provides insights about developers' most wanted features for dependency management bots. Based on our findings, we derive and summarize the key characteristics of an ideal dependency management bot which can be grouped into four dimensions: configurability, autonomy, transparency, and self-adaptability.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/24/2021

Can We Trust Tests To Automate Dependency Updates? A Case Study of Java Projects

Developers are increasingly using services such as Dependabot to automat...
research
10/27/2020

Dependency Smells in JavaScript Projects

Dependency management in modern software development poses many challeng...
research
09/14/2017

Do Developers Update Their Library Dependencies? An Empirical Study on the Impact of Security Advisories on Library Migration

Third-party library reuse has become common practice in contemporary sof...
research
05/25/2023

Dependency Update Strategies and Package Characteristics

Managing project dependencies is a key maintenance issue in software dev...
research
02/10/2023

Autonomy Is An Acquired Taste: Exploring Developer Preferences for GitHub Bots

Software bots fulfill an important role in collective software developme...
research
06/18/2023

An Empirical Study of Untangling Patterns of Two-Class Dependency Cycles

Dependency cycles pose a significant challenge to software quality and m...
research
03/26/2023

A Lot of Talk and a Badge: An Empirical Analysis of Personal Achievements in GitHub

GitHub has introduced gamification via personal achievements, whereby ba...

Please sign up or login with your details

Forgot password? Click here to reset