An Unsupervised Approach for Discovering Relevant Tutorial Fragments for APIs

Author email: jingxuanzhang@mail.dlut.edu.cn
Tool name: FRAPT
Description: Developers increasingly rely on API tutorials to facilitate software development. However, it remains a challenging task for them to discover relevant API tutorial fragments explaining unfamiliar APIs. Existing supervised approaches suffer from the heavy burden of manually preparing corpus-specific annotated data and features. In this study, we propose a novel unsupervised approach, namely <u>F</u>ragment <u>R</u>ecommender for <u>A</u>PIs with <u>P</u>ageRank and <u>T</u>opic model (FRAPT). FRAPT can well address two main challenges lying in the task and effectively determine relevant tutorial fragments for APIs. In FRAPT, a Fragment Parser is proposed to identify APIs in tutorial fragments and replace ambiguous pronouns and variables with related ontologies and API names, so as to address the pronoun and variable resolution challenge. Then, a Fragment Filter employs a set of non-explanatory detection rules to remove non-explanatory fragments, thus address the non-explanatory fragment identification challenge. Finally, two correlation scores are achieved and aggregated to determine relevant fragments for APIs, by applying both topic model and PageRank algorithm to the retained fragments. Extensive experiments over two publicly open tutorial corpora show that, FRAPT improves the state-of-the-art approach by 8.77% and 12.32% respectively in terms of F-Measure. The effectiveness of key components of FRAPT is also validated.
Bibtex: @inproceedings{10.1109/ICSE.2017.12, author = {Jiang, He and Zhang, Jingxuan and Ren, Zhilei and Zhang, Tao}, title = {An Unsupervised Approach for Discovering Relevant Tutorial Fragments for APIs}, year = {2017}, isbn = {9781538638682}, publisher = {IEEE Press}, url = {https://doi.org/10.1109/ICSE.2017.12}, doi = {10.1109/ICSE.2017.12}, booktitle = {Proceedings of the 39th International Conference on Software Engineering}, pages = {38–48}, numpages = {11}, keywords = {topic model, pagerank algorithm, application programming interface, unsupervised approaches}, location = {Buenos Aires, Argentina}, series = {ICSE ’17} }
Link to public pdf: https://dl.acm.org/doi/abs/10.1109/ICSE.2017.12
Link to tool webpage: http://oscar-lab.org/people/~jxzhang/FRAPT/
Link to demo: Not provided by authors
Category: None
Year and Conference: 2017, ICSE
Terms of use