paperbot · PL 论文追踪

全部论文 待读 收藏

P2 On using machine learning to identify knowledge in API reference documentation

使用机器学习识别 API 参考文档中的知识
FSE Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2019匹配度 2/10 · 该论文研究用传统机器学习和深度学习分类 API 参考文档中的知识类型,属于软件工程/文档挖掘,而非用户关注的静态分析、LLM/Agent 程序分析、浮点程序分析或贝叶斯程序分析。虽然涉及机器学习与程序语言,但问题场景和核心方法与研究方向匹配度很低。引用 22 inbox
Davide Fucci, Alireza Mollaalizadehbahnemiri, Walid Maalej
crossref: 2026-09-12

AI 速览

一句话:比较传统机器学习与深度学习方法在自动识别 API 参考文档所含知识类型上的表现,单类型分类最佳 AUPRC 达 87%。

API 参考文档(如 JavaDoc)是软件开发的重要组成部分,已有工作提出包含 12 种知识类型(如功能、结构与质量)的 grounded taxonomy,但自动识别文档中的特定知识类型仍具挑战。本文研究现代文本分类方法能否有效完成该任务。作者基于人工标注的 Java 与 .NET API 文档(n = 5,574)构建数据集,对比传统机器学习(k-NN、SVM)与深度学习方法,并在单类型(多个二元分类器)与多类型设置下评估。实验表明,单类型分类时最佳 AUPRC 高达 87%,说明现代文本分类方法能够较准确地识别 API 文档中的知识类型。

问题
如何自动识别 API 参考文档中所包含的特定知识类型(如功能、结构与质量),以辅助文档理解与开发者工具支持。
方法
构建包含 5,574 条人工标注 Java 与 .NET API 文档的数据集,对比 k-NN、SVM 等传统机器学习与深度学习方法,在单类型(多个二元分类器)与多类型设置下进行文本分类。
评估
在人工标注数据上以 AUPRC 等指标衡量各方法识别知识类型的性能,单类型分类的最佳 AUPRC 达到 87%。
原文摘要(Abstract)

Using API reference documentation like JavaDoc is an integral part of software development. Previous research introduced a grounded taxonomy that organizes API documentation knowledge in 12 types, including knowledge about the Functionality, Structure, and Quality of an API. We study how well modern text classification approaches can automatically identify documentation containing specific knowledge types. We compared conventional machine learning (k-NN and SVM) with deep learning approaches trained on manually-annotated Java and .NET API documentation (n = 5,574). When classifying the knowledge types individually (i.e., multiple binary classifiers) the best AUPRC was up to 87

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot5091,
  title = {On using machine learning to identify knowledge in API reference documentation},
  author = {Davide Fucci and Alireza Mollaalizadehbahnemiri and Walid Maalej},
  booktitle = {FSE},
  year = {2019},
  doi = {10.1145/3338906.3338943}
}