中文

从 Stack Overflow 上的群体知识引导生成 API 使用手册

软件工程 2019-03-25 v1

摘要

成熟的库通常配有 API 文档。然而,它们常缺乏示例与解释,可能使其有效复用变得困难。Stack Overflow 是一个面向软件开发相关问题的问答网站。尽管 Stack Overflow 日益普及,但某一特定主题(如某个 API)的相关信息分散于整个网站。因此,Stack Overflow 仍缺乏对其中可用群体知识的组织。我们的目标是通过提供一种基于 Stack Overflow 上可用群体知识、称为群体手册(crowd cookbook)的替代产物来记录 API,从而解决 API 文档质量低下的问题。手册是一种以配方为导向的书,我们称我们的手册为群体手册,因其包含由群体生成的内容。这些手册旨在通过探索过程(即浏览)来使用。在本文中,我们提出一种半自动方法,组织 Stack Overflow 上可用的群体知识以构建 API 手册。我们已为软件开发社区广泛使用的三个 API 生成了手册:SWT、LINQ 与 QT。我们还定义了群体手册必须满足的期望属性,并通过人工受试者针对这些属性对手册进行了评估。结果表明,采用我们的方法构建的手册总体上满足这些属性。值得一提的是,大多数配方被认为适合放入手册且具备自包含信息。我们得出结论:我们的方法能够自动生成恰当的手册,其效用可与人工编写的手册相媲美。这为 API 设计者开辟了一个机会,可用群体的不同观点丰富现有手册,甚至生成新手册的初始版本。

关键词

引用

@article{arxiv.1903.09174,
  title  = {Bootstrapping Cookbooks for APIs from Crowd Knowledge on Stack Overflow},
  author = {Lucas B. L. Souza and Eduardo C. Campos and Fernanda Madeiral and Klérisson Paixão and Adriano M. Rocha and Marcelo de Almeida Maia},
  journal= {arXiv preprint arXiv:1903.09174},
  year   = {2019}
}

备注

Accepted at Information and Software Technology - Journal - Elsevier. 16 pages