Enriching API Documentation with Code Samples and Usage Scenarios from Crowd KnowledgeJ1
As one key resource to learn Application Programming Interfaces (APIs), a lot of API reference documentation lacks code samples with usage scenarios, thus heavily hindering developers from programming with APIs. Although researchers have investigated how to enrich API documentation with code samples from general code search engines, two main challenges remain to be resolved, including the quality challenge of acquiring high-quality code samples and the mapping challenge of matching code samples to usage scenarios. In this study, we propose a novel approach named ADECK towards enriching API documentation with code samples and corresponding usage scenarios by leveraging crowd knowledge from Stack Overflow, a popular technical Question and Answer (Q&A) website attracting millions of developers. Given an API related Q&A pair, a code sample in the answer is extensively evaluated by developers and targeted towards resolving the question under the specified usage scenario. Hence, ADECK can obtain high-quality code samples and map them to corresponding usage scenarios to address the above challenges. Extensive experiments on the Java SE and Android API documentation show that the number of code-sample-illustrated API types in the ADECK-enriched API documentation is 3.35 and 5.76 times as many as that in the raw API documentation. Meanwhile, the quality of code samples obtained by ADECK is better than that of code samples by the baseline approach eXoaDocs in terms of correctness, conciseness, and usability, e.g., the average correctness values of representative code samples obtained by ADECK and eXoaDocs are 4.26 and 3.28 on a 5-point scale in the enriched Java SE API documentation. In addition, an empirical study investigating the impacts of different types of API documentation on the productivity of developers shows that, compared against the raw and the eXoaDocs-enriched API documentation, the ADECK-enriched API documentation can help developers complete 23.81% and 14.29% more programming tasks and reduce the average completion time by 9.43% and 11.03%.
Thu 9 JulDisplayed time zone: (UTC) Coordinated Universal Time change
08:05 - 09:05 | I18-APIs and CommitsNew Ideas and Emerging Results / Journal First / Technical Papers at Silla Chair(s): Massimiliano Di Penta University of Sannio | ||
08:05 8mTalk | Enriching API Documentation with Code Samples and Usage Scenarios from Crowd KnowledgeJ1 Journal First Jingxuan Zhang Nanjing University of Aeronautics and Astronautics, He Jiang School of Software, Dalian University of Technology, Zhilei Ren Dalian University of Technology, Tao Zhang Harbin Engineering University, Zhiqiu Huang Nanjing University of Aeronautics and Astronautics | ||
08:13 6mTalk | Cooperative API Misuse Detection Using Correction RulesNIER New Ideas and Emerging Results Sebastian Nielebock Otto-von-Guericke University Magdeburg, Germany, Robert Heumüller Chair of Software Engineering, Faculty of Computer Science, Otto-von-Guericke-University Magdeburg, Jacob Krüger Otto von Guericke University Magdeburg, Frank Ortmeier Otto-von-Guericke-University Magdeburg, Faculty of Computer Science, Chair of Software Engineering DOI Pre-print | ||
08:19 12mTalk | How Android Developers Handle Evolution-induced API Compatibility Issues: A Large-scale StudyTechnical Technical Papers Hao Xia Fudan University, Yuan Zhang Fudan University, Yingtian Zhou Fudan University, Xiaoting Chen Fudan University, Yang Wang Fudan University, Xiangyu Zhang Purdue University, Shuaishuai Cui Fudan University, Geng Hong Fudan University, Xiaohan Zhang Fudan University, Min Yang Fudan University, Zhemin Yang Fudan University | ||
08:31 12mTalk | An Empirical Study on API Parameter RulesTechnical Technical Papers | ||
08:43 6mTalk | Boosting Automated Program Repair with Bug-Inducing CommitsNIER New Ideas and Emerging Results Ming Wen Huazhong University of Science and Technology, China, Yepang Liu Southern University of Science and Technology, Shing-Chi Cheung Department of Computer Science and Engineering, The Hong Kong University of Science and Technology | ||
08:49 12mTalk | Software Documentation: The Practitioners' PerspectiveTechnical Technical Papers Emad Aghajani Software Institute, USI - Lugano, Switzerland, Csaba Nagy Software Institute - USI, Lugano, Switzerland, Mario Linares-Vásquez Universidad de los Andes, Laura Moreno Colorado State University, Gabriele Bavota Università della Svizzera italiana, Michele Lanza Universita della Svizzera italiana (USI), David C. Shepherd Virginia Commonwealth University Pre-print Media Attached |