Final Thesis: Automated Dependency Updates for Dart Projects

Abstract: It is important to keep track of new dependency versions, in order to receive security fixes and new features. Similar to other programming languages with dependency mechanisms, libraries and frameworks for the Dart programming languages get distributed as packages using its package manager Pub.

This thesis shows the steps needed to implement an automatic dependency update tool for the Dart programming language. The implemented tool is an extension to the Dependabot project, an application which automatically scans source code repositories of various programming languages for outdated dependencies and creates updates in the form of “Pull Requests” for them.

Finally, this thesis evaluates the impact an automatic dependency update tool could have for the Dart programming language ecosystem and its community by analyzing its performance on the 1020 most starred GitHub Dart repositories. This showed that the tool was able to successfully process over 85% of the detected dependencies. Around 40% of these detected dependencies were up to date, and the tool was able to update the remaining 60% of dependencies to the latest version.

Keywords: Property-based testing, jqwik

PDF: Bachelor Thesis

Reference: Johann Schramm. Automated Dependency Updates for Dart Projects. Bachelor Thesis. Friedrich-Alexander-Universität Erlangen-Nürnberg: 2021.