中文

Exempla Gratis (E.G.):免费的代码样例

软件工程 2020-11-04 v1

摘要

现代软件工程常涉及使用许多现有 API,既包括开源的,也包括工业编码环境中的专有 API。程序员参考文档和代码搜索工具来提醒自己 API 的正确常见用法模式。然而,高质量的 API 用法样例在计算上难以整理和维护,且从公司级代码搜索检索到的 API 用法样例审阅起来可能繁琐。我们提出一种工具 EG,它挖掘代码库并展示 API 方法的常见、惯用法用样例。EG 已集成到 Facebook 面向 Hack 语言的内部代码搜索工具中,并在用 Python 编写的开源 GitHub 项目上进行了评估。EG 还与代码搜索结果及来自名为 ProgramCreek 的流行编程网站的手写样例进行了比较。与这两个基线相比,EG 生成的样例更简洁、更具代表性且冗余语句更少。此外,一项针对 Facebook 开发者的调查显示,97% 的情况下更倾向于 EG 样例。

关键词

引用

@article{arxiv.2011.01407,
  title  = {Exempla Gratis (E.G.): Code Examples for Free},
  author = {Celeste Barnaby and Koushik Sen and Tianyi Zhang and Elena Glassman and Satish Chandra},
  journal= {arXiv preprint arXiv:2011.01407},
  year   = {2020}
}