Topic Recommendation for Software Repositories using Multi-label Classification Algorithms

10/18/2020
by   Maliheh Izadi, et al.
0

Many platforms exploit collaborative tagging to provide their users with faster and more accurate results while searching or navigating. Tags can communicate different concepts such as the main features, technologies, functionality, and the goal of a software repository. Recently, GitHub has enabled users to annotate repositories with topic tags. It has also provided a set of featured topics, and their possible aliases, carefully curated with the help of the community. This creates the opportunity to use this initial seed of topics to automatically annotate all remaining repositories, by training models that recommend high-quality topic tags to developers. In this work, we study the application of multi-label classification techniques to predict software repositories' topics. First, we augment GitHub's featured topics. The core idea is to derive more information from projects' available documentation. Our data contains about 152K GitHub repositories and 228 featured topics. Then, we apply supervised models on repositories' textual information such as descriptions, README files, wiki pages, and file names. We assess the performance of our approach both quantitatively and qualitatively. Our proposed model achieves Recall@5 and LRAP of 0.890 and 0.805, respectively. Moreover, based on users' assessment, our approach is highly capable of recommending correct and complete sets of topics. Finally, we use our models to develop an online tool named Repository Catalogue, that automatically predicts topics for Github repositories and is publicly available.

READ FULL TEXT

page 9

page 12

research
05/31/2022

Semantically-enhanced Topic Recommendation System for Software Projects

Software-related platforms have enabled their users to collaboratively l...
research
02/20/2018

Categorizing the Content of GitHub README Files

README files play an essential role in shaping a developer's first impre...
research
08/19/2022

Topical: Learning Repository Embeddings from Source Code using Attention

Machine learning on source code (MLOnCode) promises to transform how sof...
research
10/28/2017

Topic-based Integrator Matching for Pull Request

Pull Request (PR) is the main method for code contributions from the ext...
research
05/19/2022

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

GitHub is the world's largest host of source code, with more than 150M r...
research
11/05/2022

Hierarchical Multi-Label Classification of Scientific Documents

Automatic topic classification has been studied extensively to assist ma...
research
10/16/2019

HiGitClass: Keyword-Driven Hierarchical Classification of GitHub Repositories

GitHub has become an important platform for code sharing and scientific ...

Please sign up or login with your details

Forgot password? Click here to reset