从查询到可用代码:Stack Overflow代码片段分析
软件工程
2016-08-09 v1
摘要
Stack Overflow代码片段辅以自然语言文本,是宝贵的小型源代码单元的以代码为中心的知识库。除了对软件开发人员有用外,这些带注释的片段还可能作为自动化工具的基础,为特定自然语言查询提供可工作的代码解决方案。出于利用Stack Overflow片段及周围文本开发自动化工具的目标,本文调查了以下问题:(1)Stack Overflow代码片段的可用性如何?以及(2)当使用文本搜索引擎对片段周围的自然语言问题和答案进行匹配时,顶部结果中有多大比例的包含可用代码片段?总共分析了3M代码片段,涵盖四种语言:C\#、Java、JavaScript和Python。Python和JavaScript被证明是可用代码片段最多的语言。相反,Java和C\#被证明是可用性率最低的语言。对可用Python片段的进一步定性分析显示了解决原始问题的答案的特征。最后,我们使用Google搜索调查可用性与代码片段周围自然语言注释的一致性,并探索如何使Stack Overflow中的片段成为未来自动程序生成的充分基础。
引用
@article{arxiv.1605.04464,
title = {From Query to Usable Code: An Analysis of Stack Overflow Code Snippets},
author = {Di Yang and Aftab Hussain and Cristina Lopes},
journal= {arXiv preprint arXiv:1605.04464},
year = {2016}
}
备注
13th IEEE/ACM International Conference on Mining Software Repositories, 11 pages