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)

科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
刚刚
1秒前
1秒前
科研通AI2S应助亮仔采纳,获得10
1秒前
LLP完成签到,获得积分20
1秒前
我是奇葩完成签到,获得积分10
1秒前
1秒前
2秒前
Piky完成签到,获得积分10
2秒前
2秒前
降噪铅笔完成签到,获得积分10
2秒前
馒头发布了新的文献求助10
3秒前
dongyu发布了新的文献求助200
3秒前
唯有发布了新的文献求助10
3秒前
披着凉皮的狼完成签到 ,获得积分10
3秒前
3秒前
Frank发布了新的文献求助10
4秒前
ruirui发布了新的文献求助10
4秒前
SH发布了新的文献求助30
4秒前
科研通AI6应助Yang采纳,获得10
5秒前
玛卡巴卡完成签到 ,获得积分10
5秒前
pantio完成签到,获得积分10
5秒前
5秒前
bkagyin应助十一采纳,获得10
5秒前
迪迪完成签到 ,获得积分10
5秒前
6秒前
chicy完成签到,获得积分20
6秒前
1128发布了新的文献求助10
6秒前
GG爆完成签到 ,获得积分10
6秒前
Johnny完成签到,获得积分10
6秒前
LLP发布了新的文献求助10
7秒前
玛卡巴卡发布了新的文献求助10
7秒前
7秒前
7秒前
8秒前
8秒前
8秒前
8秒前
小佳完成签到,获得积分10
8秒前
小怪发布了新的文献求助10
8秒前
高分求助中
(应助此贴封号)【重要!!请各用户(尤其是新用户)详细阅读】【科研通的精品贴汇总】 10000
Fermented Coffee Market 2000
Pipeline and riser loss of containment 2001 - 2020 (PARLOC 2020) 1000
Integrating supply and demand-side management in renewable-based energy systems 500
A Treatise on the Mathematical Theory of Elasticity 500
Critical Thinking: Tools for Taking Charge of Your Learning and Your Life 4th Edition 500
Phylogenetic study of the order Polydesmida (Myriapoda: Diplopoda) 500
热门求助领域 (近24小时)
化学 医学 生物 材料科学 工程类 有机化学 内科学 生物化学 物理 计算机科学 纳米技术 遗传学 基因 复合材料 化学工程 物理化学 病理 催化作用 免疫学 量子力学
热门帖子
关注 科研通微信公众号,转发送积分 5251098
求助须知:如何正确求助?哪些是违规求助? 4415232
关于积分的说明 13745342
捐赠科研通 4286905
什么是DOI,文献DOI怎么找? 2352133
邀请新用户注册赠送积分活动 1349017
关于科研通互助平台的介绍 1308502