Traceability links are key information sources for software developers, connecting software artifacts (e.g., linking requirements to the corresponding source code). In open-source software (OSS) projects, such links play an important role, particularly between the contributions (e.g., GitHub issues) and the corresponding source code. Through these links, developers can trace the discussions in contributions and uncover design rationales, constraints, and security concerns. Previous studies have mainly examined accepted contributions, while those declined after discussion have been overlooked. The discussions behind declined contributions contain valuable design rationales and implicit knowledge about software decision-making, as the reasons behind the decline often reveal the criteria used to judge what should or should not be implemented. In this study, we present the first attempt to establish traceability links between declined contributions and related source code. We propose an initial linking approach and conduct an empirical analysis of the generated links to discuss factors affecting link generation. As our dataset, we use proposals from the official Go repository, which are GitHub issues used to propose new features or language changes. To link declined proposals to source code, we designed an LLM-driven pipeline. Our results showed that the pipeline selected the correct granularity for each declined proposal with an accuracy of 0.836, and generated correct links at that granularity with a mean precision of 0.643. To clarify the challenges of linking declined proposals, we performed a failure analysis. In the declined proposals where the pipeline failed to generate links, the discussions were often redundant and lacked concrete information (e.g., how the feature should be implemented).


翻译:可追溯性链接是软件开发者的关键信息来源,它将软件制品(例如将需求与对应源代码相链接)连接起来。在开源软件项目中,此类链接发挥着重要作用,特别是在贡献(如GitHub议题)与对应源代码之间。通过这些链接,开发者可以追溯贡献中的讨论,并揭示设计原理、约束条件和安全问题。先前研究主要关注已接受的贡献,而对讨论后被拒绝的贡献则有所忽视。被拒贡献背后的讨论蕴含着宝贵的设计原理和软件决策的隐性知识,因为拒绝背后的原因往往揭示了判断应实施或不应实施内容的标准。在本研究中,我们首次尝试在被拒贡献与相关源代码之间建立可追溯性链接。我们提出了一种初始链接方法,并对生成的链接进行实证分析,以讨论影响链接生成的因素。作为数据集,我们使用官方Go代码库中的提案,这些提案是用于提出新特性或语言变更的GitHub议题。为将被拒提案链接至源代码,我们设计了一条基于大语言模型的处理流程。结果显示,该流程为每个被拒提案选择正确粒度的准确率达到0.836,并在该粒度下生成正确链接的平均精确率达到0.643。为阐明链接被拒提案的挑战,我们进行了失败案例分析。在流程未能生成链接的被拒提案中,讨论内容往往冗余且缺乏具体信息(例如特性应如何实现)。

0
下载
关闭预览

相关内容

代码(Code)是专知网的一个重要知识资料文档板块,旨在整理收录论文源代码、复现代码,经典工程代码等,便于用户查阅下载使用。
AI可解释性文献列表
专知
43+阅读 · 2019年10月7日
【资源推荐】AI可解释性资源汇总
专知
47+阅读 · 2019年4月24日
Github项目推荐 | 知识图谱文献集合
AI研习社
26+阅读 · 2019年4月12日
因果推理学习算法资源大列表
专知
27+阅读 · 2019年3月3日
国家自然科学基金
1+阅读 · 2017年12月31日
国家自然科学基金
18+阅读 · 2017年12月31日
国家自然科学基金
13+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
9+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
国家自然科学基金
6+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
VIP会员
相关VIP内容
相关基金
国家自然科学基金
1+阅读 · 2017年12月31日
国家自然科学基金
18+阅读 · 2017年12月31日
国家自然科学基金
13+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
9+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
国家自然科学基金
6+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员