Demystify Official API Usage Directives with Crowdsourced API Misuse Scenarios, Erroneous Code Examples and PatchesTechnical
API usage directives in official API documentation describe the contracts, constraints and guidelines for using APIs in natural language. Through the investigation of API misuse scenarios on Stack Overflow, we identify three barriers that hinder the understanding of the API usage directives, i.e., lack of specific usage context, indirect relationships to cooperative APIs, and confusing APIs with subtle differences. To overcome these barriers, we develop a text mining approach to discover the crowdsourced API misuse scenarios on Stack Overflow and extract from these scenarios erroneous code examples and patches, as well as related API and confusing APIs to construct demystification reports to help developers understand the official API usage directives described in natural language. We apply our approach to API usage directives in official Android API documentation and android-tagged discussion threads on Stack Overflow. We extract 159,116 API misuse scenarios for 23,969 API usage directives of 3138 classes and 7471 methods, from which we generate the demystification reports. Our manual examination confirms that the extracted information in the generated demystification reports are of high accuracy. By a user study of 14 developers on 8 API-misuse related error scenarios, we show that our demystification reports help developer understand and debug API-misuse related program errors faster and more accurately, compared with reading only plain API usage-directive sentences.
Sat 11 JulDisplayed time zone: (UTC) Coordinated Universal Time change
16:05 - 17:05 | A29-Code Analysis and VerificationTechnical Papers / New Ideas and Emerging Results at Goguryeo Chair(s): Elena Sherman Boise State University | ||
16:05 12mTalk | Heaps'n Leaks: How Heap Snapshots Improve Android Taint AnalysisTechnical Technical Papers Manuel Benz University of Paderborn, Erik Krogh Kristensen GitHub, Linghui Luo Paderborn University, Germany, Nataniel Borges Jr. CISPA Helmholtz Center for Information Security, Eric Bodden Heinz Nixdorf Institut, Paderborn University and Fraunhofer IEM, Andreas Zeller CISPA Helmholtz Center for Information Security Media Attached File Attached | ||
16:17 12mTalk | Verifying Object ConstructionTechnical Technical Papers Martin Kellogg University of Washington, Seattle, Manli Ran University of California, Riverside, Manu Sridharan University of California Riverside, Martin Schäf Amazon Web Services, USA, Michael D. Ernst University of Washington, USA | ||
16:29 6mTalk | Predictive Constraint Solving and AnalysisNIER New Ideas and Emerging Results Alyas Almaawi The University of Texas at Austin, Nima Dini University of Texas at Austin, Cagdas Yelen The University of Texas at Austin, Milos Gligoric The University of Texas at Austin, Sasa Misailovic University of Illinois at Urbana-Champaign, Sarfraz Khurshid University of Texas at Austin, USA | ||
16:35 12mTalk | When APIs are Intentionally Bypassed: An Exploratory Study of API WorkaroundsTechnical Technical Papers Pre-print | ||
16:47 12mTalk | Demystify Official API Usage Directives with Crowdsourced API Misuse Scenarios, Erroneous Code Examples and PatchesTechnical Technical Papers Xiaoxue Ren Zhejiang University, Zhenchang Xing Australia National University, Jiamou Sun Australian National University, Xin Xia Monash University, JianLing Sun Zhejiang University |