我们能否识别需要代码片段的 Stack Overflow 问题?探究缺失代码片段的因果
摘要
在 Stack Overflow (SO) 问答网站上,用户经常请求解决其代码相关问题(例如错误、意外行为)的方案。遗憾的是,他们在提交问题时经常遗漏所需的代码片段,这可能阻碍他们的问题获得及时和适当的解答。在本研究中,我们开展了一项实证研究,调查在需要时 SO 问题中缺失代码片段的因果。我们的贡献有三个方面。首先,我们分析了所需代码片段的存在与否如何影响问题类型(缺失代码、请求后包含代码和提交时带有代码片段)与相应答案元数据(例如是否存在已采纳答案)之间的相关性。根据我们的分析,在提交问题时包含所需代码片段的问题获得已采纳答案的几率是遗漏代码的问题的三倍。我们还调查了除所需代码片段的存在与否外,混杂因素(例如用户声誉)是否会影响问题获得解答。我们发现,这些因素不会损害所需代码片段的存在与否和答案元数据之间的相关性。其次,我们调查了 64 名从业者以了解用户为何遗漏必要的代码片段。大约 60% 的人同意,用户没有意识到他们的问题是否需要任何代码片段。第三,我们因此提取了四个基于文本的特征(例如关键词),并构建了六个 ML 模型来识别需要代码片段的问题。我们的模型能以 86.5% 的精确率、90.8% 的召回率、85.3% 的 F1 分数和 85.2% 的总体准确率预测目标问题。我们的工作有可能节省编程问答的大量时间,并通过减少未回答和未解决的问题来提高这一宝贵知识库的质量。
引用
@article{arxiv.2402.04575,
title = {Can We Identify Stack Overflow Questions Requiring Code Snippets? Investigating the Cause & Effect of Missing Code Snippets},
author = {Saikat Mondal and Mohammad Masudur Rahman and Chanchal K. Roy},
journal= {arXiv preprint arXiv:2402.04575},
year = {2024}
}
备注
This paper has been accepted for inclusion in the International Conference on Software Analysis, Evolution, and Reengineering (SANER 2024) technical program