Retrieving API Knowledge from Tutorials and Stack Overflow Based on Natural Language Queries

计算机科学 应用程序编程接口 片段(逻辑) 情报检索 自然语言 知识库 万维网 程序设计语言 自然语言处理
作者
Di Wu,Xiao‐Yuan Jing,Hongyu Zhang,Yang Feng,Haowen Chen,Yuming Zhou,Baowen Xu
出处
期刊:ACM Transactions on Software Engineering and Methodology [Association for Computing Machinery]
卷期号:32 (5): 1-36 被引量:8
标识
DOI:10.1145/3565799
摘要

When encountering unfamiliar APIs, developers tend to seek help from API tutorials and Stack Overflow (SO). API tutorials help developers understand the API knowledge in a general context, while SO often explains the API knowledge in a specific programming task. Thus, tutorials and SO posts together can provide more API knowledge. However, it is non-trivial to retrieve API knowledge from both API tutorials and SO posts based on natural language queries. Two major problems are irrelevant API knowledge in two different resources and the lexical gap between the queries and documents. In this article, we regard a fragment in tutorials and a Question and Answering (Q&A) pair in SO as a knowledge item (KI). We generate ⟨ API, FRA ⟩ pairs (FRA stands for fragment) from tutorial fragments and APIs and build ⟨ API, QA ⟩ pairs based on heuristic rules of SO posts. We fuse ⟨ API, FRA ⟩ pairs and ⟨ API, QA ⟩ pairs to generate API knowledge (AK for short) datasets, where each data item is an ⟨ API, KI ⟩ pair. We propose a novel approach, called PLAN, to automatically retrieve API knowledge from both API tutorials and SO posts based on natural language queries. PLAN contains three main stages: (1) API knowledge modeling, (2) query mapping, and (3) API knowledge retrieving. It first utilizes a deep-transfer-metric-learning-based relevance identification (DTML) model to effectively find relevant ⟨ API, KI ⟩ pairs containing two different knowledge items (⟨ API, QA ⟩ pairs and ⟨ API, FRA ⟩ pairs) simultaneously. Then, PLAN generates several potential APIs as a way to reduce the lexical gap between the query and ⟨ API, KI ⟩ pairs. According to potential APIs, we can select relevant ⟨ API, KI ⟩ pairs to generate potential results. Finally, PLAN returns a list of ranked ⟨ API, KI ⟩ pairs that are related to the query. We evaluate the effectiveness of PLAN with 270 queries on Java and Android AK datasets containing 10,072 ⟨ API, KI ⟩ pairs. Our experimental results show that PLAN is effective and outperforms the state-of-the-art approaches. Our user study further confirms the effectiveness of PLAN in locating useful API knowledge.
最长约 10秒,即可获得该文献文件

科研通智能强力驱动
Strongly Powered by AbleSci AI
更新
PDF的下载单位、IP信息已删除 (2025-6-4)

科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
刚刚
黑天鹅完成签到,获得积分20
刚刚
冯宇关注了科研通微信公众号
刚刚
lin完成签到,获得积分10
刚刚
破晓完成签到,获得积分10
1秒前
2秒前
潇湘夜雨完成签到,获得积分10
2秒前
上官若男应助lane采纳,获得10
3秒前
黑天鹅发布了新的文献求助30
3秒前
科研小白完成签到,获得积分10
3秒前
neil发布了新的文献求助10
4秒前
岁月流年完成签到,获得积分10
4秒前
动听的靖琪完成签到,获得积分10
4秒前
ZhX完成签到,获得积分10
5秒前
5秒前
5秒前
5秒前
阿可阿可完成签到,获得积分10
6秒前
6秒前
桐桐应助maofeng采纳,获得10
7秒前
8秒前
ED应助李甄好采纳,获得10
8秒前
大模型应助李甄好采纳,获得10
8秒前
nkuwangkai发布了新的文献求助10
8秒前
SciGPT应助野原新之助采纳,获得10
9秒前
Jenaloe发布了新的文献求助10
9秒前
lsrlsr完成签到,获得积分10
10秒前
10秒前
大大怪发布了新的文献求助30
10秒前
11秒前
Ava应助玛琪玛小姐的狗采纳,获得10
11秒前
Lily发布了新的文献求助10
11秒前
饱满一手完成签到 ,获得积分10
12秒前
Janson完成签到,获得积分10
12秒前
文艺的明杰完成签到,获得积分10
12秒前
精明一寡发布了新的文献求助10
13秒前
13秒前
14秒前
顾矜应助椰子采纳,获得10
14秒前
研友_VZG7GZ应助虎啊虎啊采纳,获得10
14秒前
高分求助中
A new approach to the extrapolation of accelerated life test data 1000
‘Unruly’ Children: Historical Fieldnotes and Learning Morality in a Taiwan Village (New Departures in Anthropology) 400
Indomethacinのヒトにおける経皮吸収 400
Phylogenetic study of the order Polydesmida (Myriapoda: Diplopoda) 370
基于可调谐半导体激光吸收光谱技术泄漏气体检测系统的研究 330
Robot-supported joining of reinforcement textiles with one-sided sewing heads 320
Aktuelle Entwicklungen in der linguistischen Forschung 300
热门求助领域 (近24小时)
化学 材料科学 医学 生物 工程类 有机化学 生物化学 物理 内科学 纳米技术 计算机科学 化学工程 复合材料 遗传学 基因 物理化学 催化作用 冶金 细胞生物学 免疫学
热门帖子
关注 科研通微信公众号,转发送积分 3986722
求助须知:如何正确求助?哪些是违规求助? 3529207
关于积分的说明 11243810
捐赠科研通 3267638
什么是DOI,文献DOI怎么找? 1803822
邀请新用户注册赠送积分活动 881207
科研通“疑难数据库(出版商)”最低求助积分说明 808582