Recommending reference API documentation

被引:0
|
作者
Martin P. Robillard
Yam B. Chhetri
机构
[1] McGill University,School of Computer Science
来源
关键词
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 条
  • [1] Recommending reference API documentation
    Robillard, Martin P.
    Chhetri, Yam B.
    EMPIRICAL SOFTWARE ENGINEERING, 2015, 20 (06) : 1558 - 1586
  • [2] Recommending Proper API Code Examples for Documentation Purpose
    Mar, Lee Wei
    Wu, Ye-Chi
    Jiau, Hewijin Christine
    2011 18TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2011), 2011, : 331 - 338
  • [3] Patterns of Knowledge in API Reference Documentation
    Maalej, Walid
    Robillard, Martin P.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2013, 39 (09) : 1264 - 1282
  • [4] On Using Machine Learning to Identify Knowledge in API Reference Documentation
    Fucci, Davide
    Mollaalizadehbahnemiri, Alireza
    Maalej, Walid
    ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2019, : 109 - 119
  • [5] PARC: Recommending API Methods Parameters
    Asaduzzaman, Muhammad
    Roy, Chanchal K.
    Schneider, Kevin A.
    2015 31ST INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME) PROCEEDINGS, 2015, : 330 - 332
  • [6] Live API Documentation
    Subramanian, Siddharth
    Inozemtseva, Laura
    Holmes, Reid
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, : 643 - 652
  • [7] MAPO: Mining and Recommending API Usage Patterns
    Zhong, Hao
    Xie, Tao
    Zhang, Lu
    Pei, Jian
    Mei, Hong
    ECOOP 2009 - OBJECT-ORIENTED PROGRAMMING, 2009, 5653 : 318 - +
  • [8] Synthesising Linear API Usage Examples for API Documentation
    Alharbi, Seham
    Kolovos, Dimitris
    Matragkas, Nicholas
    2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2022), 2022, : 607 - 611
  • [9] Improving API Documentation Using API Usage Information
    Stylos, Jeffrey
    Faulring, Andrew
    Yang, Zizhuang
    Myers, Brad A.
    2009 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING, PROCEEDINGS, 2009, : 119 - 126
  • [10] How API Documentation Fails
    Uddin, Gias
    Robillard, Martin P.
    IEEE SOFTWARE, 2015, 32 (04) : 68 - 75