# GitRanking: A Ranking of GitHub Topics for Software Classification using Active Sampling

arXiv: https://arxiv.org/abs/2205.09379 · HTML: https://mlsanity.com/paper/2205.09379/

## Key facts

- Cited by 3 papers in the map (data through 14 Oct 2026).
- Builds on 14 of its 54 references that are in the map.
- First posted on arXiv 19 May 2022.

## Builds on (most cited first, 14 of 14)

- [BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding](https://mlsanity.com/paper/1810.04805/) (2018)
- [A C-LSTM Neural Network for Text Classification](https://mlsanity.com/paper/1511.08630/) (2015)
- [TaxoGen: Unsupervised Topic Taxonomy Construction by Adaptive Term Embedding and Clustering](https://mlsanity.com/paper/1812.09551/) (2018)
- [Understanding the Factors that Impact the Popularity of GitHub Repositories](https://mlsanity.com/paper/1606.04984/) (2016)
- [Constructing Taxonomies from Pretrained Language Models](https://mlsanity.com/paper/2010.12813/) (2020)
- [Topic Recommendation for Software Repositories using Multi-label Classification Algorithms](https://mlsanity.com/paper/2010.09116/) (2020)
- [HiGitClass: Keyword-Driven Hierarchical Classification of GitHub Repositories](https://mlsanity.com/paper/1910.07115/) (2019)
- [CoRel: Seed-Guided Topical Taxonomy Construction by Concept Learning and Relation Transferring](https://mlsanity.com/paper/2010.06714/) (2020)
- [A practical guide and software for analysing pairwise comparison experiments](https://mlsanity.com/paper/1712.03686/) (2017)
- [Active Sampling for Pairwise Comparisons via Approximate Message Passing and Information Gain Maximization](https://mlsanity.com/paper/2004.05691/) (2020)
- [A Practical Approach to the Automatic Classification of Security-Relevant Commits](https://mlsanity.com/paper/1807.02458/) (2018)
- [Adapting Neural Text Classification for Improved Software Categorization](https://mlsanity.com/paper/1806.01742/) (2018)
- [When Hearst Is not Enough: Improving Hypernymy Detection from Corpus with Distributional Models](https://mlsanity.com/paper/2010.04941/) (2020)
- [Antipatterns in Software Classification Taxonomies](https://mlsanity.com/paper/2204.08880/) (2022)

## Built on by (most cited first, 3 of 3)

- [DRAGON: Robust Classification for Very Large Collections of Software Repositories](https://mlsanity.com/paper/2602.09071/) (2026)
- [ATLAS: Agentic Taxonomy of Large-Scale Software Ecosystems](https://mlsanity.com/paper/2606.21597/) (2026)
- [Industry Classification of GitHub Repositories Using the North American Industry Classification System (NAICS)](https://mlsanity.com/paper/2607.06505/) (2026)

## Abstract (arXiv)

GitHub is the world's largest host of source code, with more than 150M repositories. However, most of these repositories are not labeled or inadequately so, making it harder for users to find relevant projects. There have been various proposals for software application domain classification over the past years. However, these approaches lack a well-defined taxonomy that is hierarchical, grounded in a knowledge base, and free of irrelevant terms. This work proposes GitRanking, a framework for creating a classification ranked into discrete levels based on how general or specific their meaning is. We collected 121K topics from GitHub and considered 60% of the most frequent ones for the ranking. GitRanking 1) uses active sampling to ensure a minimal number of required annotations; and 2) links each topic to Wikidata, reducing ambiguities and improving the reusability of the taxonomy. Our results show that developers, when annotating their projects, avoid using terms with a high degree of specificity. This makes the finding and discovery of their projects more challenging for other users. Furthermore, we show that GitRanking can effectively rank terms according to their general or specific meaning. This ranking would be an essential asset for developers to build upon, allowing them to complement their annotations with more precise topics. Finally, we show that GitRanking is a dynamically extensible method: it can currently accept further terms to be ranked with a minimum number of annotations (~ 15). This paper is the first collective attempt to build a ground-up taxonomy of software domains.
