Skip to content

VersionBot: Can Automated Pull Requests Encourage Software Developers to Upgrade Out-of-Date Dependencies?

Samim Mirhosseini, Chris Parnin. ASE'17: IEEE/ACM International Conference on Automated Software Engineering 2017 [ PDF | Slides | DOI ]

Abstract

Developers neglect to update legacy software depen- dencies, resulting in buggy and insecure software. One explana- tion for this neglect is the difficulty of constantly checking for the availability of new software updates, verifying their safety, and addressing any migration efforts needed when upgrading a dependency. Emerging tools attempt to address this problem by introducing automated pull requests and project badges to inform the developer of stale dependencies. To understand whether these tools actually help developers, we analyzed 7,470 GitHub projects that used these notification mechanisms to identify any change in upgrade behavior. Our results find that, on average, projects that use pull request notifications upgraded 1.6x as often as projects that did not use any tools. Badge notifications were slightly less effective: users upgraded 1.4x more frequently. Unfortunately, although pull request notifications are useful, developers are often overwhelmed by notifications: only a third of pull requests were actually merged. Through a survey, 62 developers indicated that their most significant concerns are breaking changes, understanding the implications of changes, and migration effort. The implications of our work suggests ways in which notifications can be improved to better align with developers’ expectations and the need for new mechanisms to reduce notification fatigue and improve confidence in automated pull requests.