Richen: Automated enrichment of Git documentation with usage examples and scenarios
Chaochao Shen,Wenhua Yang,Haitao Jia,Minxue Pan,Yu Zhou
DOI: https://doi.org/10.1002/smr.2662
2024-03-15
Journal of Software Evolution and Process
Abstract:Richen, an innovative approach, enhances Git documentation by incorporating usage examples and scenarios from Stack Overflow, improving developers' understanding and application of Git commands. The empirical study confirms that Richen's crowd‐sourced content significantly outperforms alternative methods, offering more relevant, readable, and practical Git command usages. As the predominant modern version control system, Git has become an indispensable tool for both commercial and open‐source software projects. It substantially improves software development effectiveness and efficiency through its distributed version control system, fostering seamless collaboration among teams and across locations. However, research has found that many developers have doubts about using Git commands, while the official Git documentation is rather scanty, that is, lacking sufficient explanations and examples. To help developers learn and use Git commands, we propose the first approach (Richen) for enriching Git documentation with usage examples and scenarios by leveraging crowd knowledge from Stack Overflow. Richen retrieves Git‐related posts from Stack Overflow, extracts relevant Q&A pairs, and selects representative command usages, including usage examples and scenarios, for different Git commands. Experimental results have shown that Richen can extract informative and concise command usages for Git commands. Compared with alternative methods adapted from API usage mining, the command usages obtained by Richen have significant advantages in terms of relevance, readability, and usability. Furthermore, we have shown through an empirical study that the command usages extracted by Richen can better help developers complete Git command‐related tasks.
computer science, software engineering