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 条
  • [21] How Do API Documentation and Static Typing Affect API Usability?
    Endrikat, Stefan
    Hanenberg, Stefan
    Robbes, Romain
    Stefik, Andreas
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, : 632 - 642
  • [22] TMAP: Discovering relevant API methods through text mining of API documentation
    Pandita, Rahul
    Jetley, Raoul
    Sudarsan, Sithu
    Menzies, Timothy
    Williams, Laurie
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2017, 29 (12)
  • [23] Enriching API Documentation by Relevant API Methods Recommendation based on Version History
    Arimatsu, Yuu
    Ishida, Yoshiya
    Noda, Kunihiro
    Kobayashi, Takashi
    2018 IEEE THIRD INTERNATIONAL WORKSHOP ON DYNAMIC SOFTWARE DOCUMENTATION (DYSDOC3), 2018, : 15 - 16
  • [24] Multicloud API Binding Generation from Documentation
    Araujo, Gabriel
    Barrozzi, Vitor Vitali
    Gajda, Michal J.
    INTELLIGENT COMPUTING, VOL 1, 2022, 506 : 171 - 177
  • [25] Developing Best Practices for API Reference Documentation: Creating a Platform to Study How Programmers Learn New APIs
    Watson, Robert
    2012 IEEE INTERNATIONAL PROFESSIONAL COMMUNICATION CONFERENCE (IPCC), 2012,
  • [26] Improving API Documentation Usability with Knowledge Pushing
    Dekel, Uri
    Herbsleb, James D.
    2009 31ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2009, : 320 - 330
  • [27] APIBot: Question Answering Bot for API Documentation
    Tian, Yuan
    Thung, Ferdian
    Sharma, Abhishek
    Lo, David
    PROCEEDINGS OF THE 2017 32ND IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE'17), 2017, : 153 - 158
  • [28] An Observational Study on API Usage Constraints and Their Documentation
    Saied, Mohamed Aymen
    Sahraoui, Houari
    Dufour, Bruno
    2015 22ND INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), 2015, : 33 - 42
  • [29] Improving API documentation usability with knowledge pushing
    Institute for Software Research, School of Computer Science, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, PA 15213, United States
    Proc Int Conf Software Eng, 1600, (320-330):
  • [30] Where does Google find API documentation?
    Treude, Christoph
    Aniche, Mauricio
    2018 IEEE/ACM 2ND INTERNATIONAL WORKSHOP ON API USAGE AND EVOLUTION (WAPI), 2018, : 19 - 22