Write a Blog >>
ICSE 2020
Wed 24 June - Thu 16 July 2020
Sat 11 Jul 2020 16:47 - 16:59 at Goguryeo - A29-Code Analysis and Verification Chair(s): Elena Sherman

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 Jul
Times are displayed in time zone: (UTC) Coordinated Universal Time change

16:05 - 17:05: A29-Code Analysis and VerificationPaper Presentations / Technical Papers / New Ideas and Emerging Results at Goguryeo
Chair(s): Elena ShermanBoise State University
16:05 - 16:17
Heaps'n Leaks: How Heap Snapshots Improve Android Taint AnalysisArtifact ReusableTechnicalArtifact Available
Technical Papers
Manuel BenzUniversity of Paderborn, Erik Krogh KristensenGitHub, Linghui LuoPaderborn University, Germany, Nataniel Borges Jr.CISPA Helmholtz Center for Information Security, Eric BoddenHeinz Nixdorf Institut, Paderborn University and Fraunhofer IEM, Andreas ZellerCISPA Helmholtz Center for Information Security
Media Attached File Attached
16:17 - 16:29
Verifying Object ConstructionTechnicalArtifact Available
Technical Papers
Martin KelloggUniversity of Washington, Seattle, Manli RanUniversity of California, Riverside, Manu SridharanUniversity of California Riverside, Martin SchäfAmazon Web Services, USA, Michael D. ErnstUniversity of Washington, USA
16:29 - 16:35
Predictive Constraint Solving and AnalysisNew Ideas and Emerging Results Distinguished Paper AwardsNIER
New Ideas and Emerging Results
Alyas AlmaawiThe University of Texas at Austin, Nima DiniUniversity of Texas at Austin, Cagdas YelenThe University of Texas at Austin, Milos GligoricThe University of Texas at Austin, Sasa MisailovicUniversity of Illinois at Urbana-Champaign, Sarfraz KhurshidUniversity of Texas at Austin, USA
16:35 - 16:47
When APIs are Intentionally Bypassed: An Exploratory Study of API WorkaroundsTechnical
Technical Papers
Maxime LamotheConcordia University, Weiyi ShangConcordia University
16:47 - 16:59
Demystify Official API Usage Directives with Crowdsourced API Misuse Scenarios, Erroneous Code Examples and PatchesTechnical
Technical Papers
Xiaoxue RenZhejiang University, Zhenchang XingAustralia National University, Jiamou SunAustralian National University, Xin XiaMonash University, Jianling SunZhejiang University