Git command recommendations using crowd-sourced knowledge

Git is a fast, scalable, distributed version control system with a rich command set that provides high-level operations and full access to the internals. It has been widely used by millions of developers worldwide. However, due to the flexibility of the usage of Git commands and the scarcity of Git...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Information and software technology 2023-07, Vol.159, p.107199, Article 107199
Hauptverfasser: Jia, Haitao, Yang, Wenhua, Shen, Chaochao, Pan, Minxue, Zhou, Yu
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Git is a fast, scalable, distributed version control system with a rich command set that provides high-level operations and full access to the internals. It has been widely used by millions of developers worldwide. However, due to the flexibility of the usage of Git commands and the scarcity of Git documentation, many developers have experienced difficulties when using Git commands. This paper aims to propose an automatic approach to recommending Git commands for developers given a query described by natural language. Our approach makes recommendations by mining the crowd-sourced knowledge related to Git on Stack Overflow. It first constructs a keyword-command mapping database from Git-related posts, then analyzes the similarity between the query given by the developer and the keywords in the database to retrieve the candidate commands, and proposes an algorithm to rank the candidate commands. Our approach’s recommendation results significantly outperform the baseline approaches in several metrics (e.g., Top-K accuracy). Meanwhile, the experimental results have shown that the favorable efficiency of our approach can promise its use by developers in real-world scenarios. The Git command recommendation approach proposed in this paper is effective and can be helpful for developers to use Git commands for more efficient development.
ISSN:0950-5849
1873-6025
DOI:10.1016/j.infsof.2023.107199