# Mining software repositories

URL: https://www.cesarsotovalero.net/mining-software-repositories-resources
Author: César Soto Valero
Summary: List of resources related to mining software repositories.

<!--
> "Mining software repositories is an increasingly popular and important area of software engineering research aimed at retrieving, integrating, and analyzing data available in various kinds of software repositories"
> *― [Massimiliano Di Penta](https://scholar.google.com/citations?user=j6ucyOAAAAAJ&hl=en)*
-->

# Tools

- [<i class="fab fa-github"></i>](https://github.com/diverse-project/maven-miner) [maven-miner](https://github.com/diverse-project/maven-miner/wiki) Mines Maven Central and creates a global dependency graph.

- [<i class="fab fa-github"></i>](https://github.com/src-d/engine) [source{d} Engine](href="https://github.com/src-d/engine) Powerful language-agnostic analysis of your source code and git history.

- [<i class="fab fa-github"></i>](https://github.com/RepoReapers/reaper) [reaper](https://github.com/RepoReapers/reaper) Calculate the score of a repository based on best engineering practices.

# Datasets

- [<i class="fab fa-github"></i>](https://github.com/igrigorik/gharchive.org/tree/master) [GH Archive](https://www.gharchive.org) Records the public GitHub timeline, archive it, and make it easily accessible for further analysis.

- [<i class="fab fa-github"></i>](https://github.com/ghtorrent/ghtorrent.org) [The GHTorrent project](http://ghtorrent.org) An effort to create a scalable, queriable, offline mirror of data offered through the Github REST API.

- [jsDelivr](https://www.jsdelivr.com/) is a Content Delivery Network (CDN) that can be used to download the GitHub files without any rate limit. (Ask Zimin about how to get the difference between two versions of the same file).

# Influential Papers

- [An in-depth study of the promises and perils of mining GitHub](https://link.springer.com/article/10.1007/s10664-015-9393-5). EMSE, 2015
