- Title
- Leveraging Stack Overflow to detect relevant tutorial fragments of APIs
- Creator
- Wu, Di; Jing, Xiao-Yuan; Zhang, Hongyu; Zhou, Yuming; Xu, Baowen
- Relation
- Empirical Software Engineering Vol. 28, Issue 1, no. 12
- Publisher Link
- http://dx.doi.org/10.1007/s10664-022-10235-1
- Publisher
- Springer
- Resource Type
- journal article
- Date
- 2023
- Description
- Developers often use learning resources such as API tutorials and Stack Overflow (SO) to learn how to use an unfamiliar API. An API tutorial can be divided into a number of consecutive units that describe the same topic, denoted as tutorial fragments. We consider a tutorial fragment explaining the API usage knowledge as a relevant fragment of the API. Discovering relevant tutorial fragments of APIs can facilitate API understanding, learning, and application. However, existing approaches, based on supervised or unsupervised approaches, often suffer from either high manual efforts or lack of consideration of the relevance information. In this paper, we propose a novel approach, called SO2RT, to detect relevant tutorial fragments of APIs based on SO posts. SO2RT first automatically extracts relevant and irrelevant ⟨API,QA⟩ pairs (QA stands for question and answer) and ⟨API,FRA⟩ pairs (FRA stands for tutorial fragment). It then trains a semi-supervised transfer learning based detection model, which can transfer the API usage knowledge in SO Q&A pairs to tutorial fragments by utilizing the easy-to-extract ⟨API,QA⟩ pairs. Finally, relevant fragments of APIs can be discovered by consulting the trained model. In this way, the effort for labeling the relevance between tutorial fragments and APIs can be reduced. We evaluate SO2RT on Java and Android datasets containing 21,008 ⟨API,QA⟩ pairs. Experimental results show that SO2RT improves the state-of-the-art approaches in terms of F-Measure on both datasets. Our user study further confirms the effectiveness of SO2RT in practice. We also show a successful application of the relevant fragments to API recommendation.
- Subject
- API tutorials; stack overflow; semi-supervised; transfer learning
- Identifier
- http://hdl.handle.net/1959.13/1484647
- Identifier
- uon:51385
- Identifier
- ISSN:1382-3256
- Language
- eng
- Reviewed
- Hits: 902
- Visitors: 900
- Downloads: 0
Thumbnail | File | Description | Size | Format |
---|