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 被引量:1
标识
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
更新
大幅提高文件上传限制,最高150M (2024-4-1)

科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
刚刚
benben应助hugeng采纳,获得10
1秒前
Crystal完成签到,获得积分10
1秒前
3秒前
4秒前
66完成签到,获得积分10
7秒前
又见白龙发布了新的文献求助10
7秒前
9秒前
13秒前
APS完成签到,获得积分10
14秒前
各位大牛帮帮忙完成签到 ,获得积分10
15秒前
俗签完成签到,获得积分10
15秒前
16秒前
罗_应助Y.B.Cao采纳,获得10
16秒前
落寞君浩发布了新的文献求助10
17秒前
17秒前
华仔应助昏睡的雨寒采纳,获得10
17秒前
Hello应助antirun采纳,获得10
20秒前
22秒前
26秒前
在水一方完成签到,获得积分0
27秒前
27秒前
28秒前
gujianhua发布了新的文献求助10
28秒前
29秒前
小贝发布了新的文献求助10
30秒前
31秒前
YinC1647应助Y.B.Cao采纳,获得10
33秒前
33秒前
antirun发布了新的文献求助10
34秒前
34秒前
35秒前
mizne发布了新的文献求助10
36秒前
HC发布了新的文献求助10
36秒前
36秒前
36秒前
跳跃稀完成签到,获得积分10
36秒前
蜜桃味大饼完成签到 ,获得积分10
37秒前
茉莉公主发布了新的文献求助30
38秒前
gujianhua完成签到,获得积分10
38秒前
高分求助中
The three stars each : the Astrolabes and related texts 1070
Manual of Clinical Microbiology, 4 Volume Set (ASM Books) 13th Edition 1000
Sport in der Antike 800
Aspect and Predication: The Semantics of Argument Structure 666
De arte gymnastica. The art of gymnastics 600
少脉山油柑叶的化学成分研究 530
Sport in der Antike Hardcover – March 1, 2015 500
热门求助领域 (近24小时)
化学 材料科学 医学 生物 有机化学 工程类 生物化学 纳米技术 物理 内科学 计算机科学 化学工程 复合材料 遗传学 基因 物理化学 催化作用 电极 光电子学 量子力学
热门帖子
关注 科研通微信公众号,转发送积分 2409120
求助须知:如何正确求助?哪些是违规求助? 2105121
关于积分的说明 5316071
捐赠科研通 1832571
什么是DOI,文献DOI怎么找? 913085
版权声明 560733
科研通“疑难数据库(出版商)”最低求助积分说明 488255