Recommending reference API documentation

被引:0
|
作者
Martin P. Robillard
Yam B. Chhetri
机构
[1] McGill University,School of Computer Science
来源
Empirical Software Engineering | 2015年 / 20卷
关键词
Application programming interfaces; API documentation; Text classification; Natural language processing; Recommendation systems;
D O I
暂无
中图分类号
学科分类号
摘要
Reference documentation is an important source of information on API usage. However, information useful to programmers can be buried in irrelevant text, or attached to a non-intuitive API element, making it difficult to discover. We propose to detect and recommend fragments of API documentation potentially important to a programmer who has already decided to use a certain API element. We categorize text fragments in API documentation based on whether they contain information that is indispensable, valuable, or neither. From the fragments that contain knowledge worthy of recommendation, we extract word patterns, and use these patterns to automatically find new fragments that contain similar knowledge in unseen documentation. We implemented our technique in a tool, Krec, that supports both information filtering and discovery. In an evaluation study with randomly-sampled method definitions from ten open source systems, we found that with a training set derived from about 1000 documentation units, we could issue recommendations with 90 % precision and 69 % recall. In a study involving ten independent assessors, indispensable knowledge items recommended for API types were judged useful 57 % of the time and potentially useful an additional 30 % of the time.
引用
收藏
页码:1558 / 1586
页数:28
相关论文
共 50 条
  • [41] Automated Example Oriented REST API Documentation at Cisco
    Sohan, S. M.
    Anslow, Craig
    Maurer, Frank
    2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING IN PRACTICE TRACK (ICSE-SEIP 2017), 2017, : 213 - 222
  • [42] Development and Application of a Heuristic to Assess Trends in API Documentation
    Watson, Robert
    SIGDOC '12: PROCEEDINGS OF THE 30TH ACM INTERNATIONAL CONFERENCE ON DESIGN OF COMMUNICATION, 2012, : 295 - 302
  • [43] Augmenting API Documentation with Insights from Stack Overflow
    Treude, Christoph
    Robillard, Martin P.
    2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2016, : 392 - 403
  • [44] Identifying Solidity Smart Contract API Documentation Errors
    Zhu, Chenguang
    Liu, Ye
    Wu, Xiuheng
    Li, Yi
    PROCEEDINGS OF THE 37TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE 2022, 2022,
  • [45] SpyREST in Action: An Automated RESTful API Documentation Tool
    Sohan, S. M.
    Anslow, Craig
    Maurer, Frank
    2015 30TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2015, : 813 - 818
  • [46] Recommending Relevant Tutorial Fragments for API-Related Natural Language Questions
    Wu, Di
    Jing, Xiao-Yuan
    Chen, Haowen
    Kong, Xiaohui
    Xuan, Jifeng
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2021, 31 (09) : 1251 - 1275
  • [47] Why API documentation is insufficient for developers: an empirical study
    Qiang FAN
    Yue YU
    Tao WANG
    Gang YIN
    Huaimin WANG
    ScienceChina(InformationSciences), 2021, 64 (01) : 248 - 250
  • [48] A Study of the Effectiveness of Usage Examples in REST API Documentation
    Sohan, S. M.
    Maurer, Frank
    Anslow, Craig
    Robillard, Martin P.
    2017 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC), 2017, : 53 - 61
  • [49] Towards Extracting Web API Specifications from Documentation
    Yang, Jinqiu
    Wittern, Erik
    Ying, Annie T. T.
    Dolby, Julian
    Tan, Lin
    2018 IEEE/ACM 15TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR), 2018, : 454 - 464
  • [50] Why API documentation is insufficient for developers: an empirical study
    Qiang Fan
    Yue Yu
    Tao Wang
    Gang Yin
    Huaimin Wang
    Science China Information Sciences, 2021, 64