Investigating Next-Steps in Static API-Misuse Detection
Application Programming Interfaces (APIs) often impose constraints such as call order or preconditions. API misuses, i.e., usages violating these constraints, may cause software crashes, data-loss, and vulnerabilities. Researchers developed several approaches to detect API misuses, typically still resulting in low recall and precision. In this work, we investigate ways to improve API-misuse detection. We design MUDetect, an API-misuse detector that builds on the strengths of existing detectors and tries to mitigate their weaknesses. MUDetect uses a new graph representation of API usages that captures different types of API misuses and a systematically designed ranking strategy that effectively improves precision. Evaluation shows that MUDetect identifies real-world API misuses with twice the recall of previous detectors and 2.5x higher precision. It even achieves almost 4x higher precision and recall, when mining patterns across projects, rather than from only the target project.
Mon 27 MayDisplayed time zone: Eastern Time (US & Canada) change
08:45 - 09:30 | Session I: APIs & Dependencies (Part 1)MSR 2019 Technical Papers at Place du Canada Chair(s): Philipp Leitner Chalmers University of Technology & University of Gothenburg | ||
08:45 15mFull-paper | Investigating Next-Steps in Static API-Misuse Detection MSR 2019 Technical Papers Sven Amann CQSE GmbH, Hoan Nguyen Iowa State University, Sarah Nadi University of Alberta, Tien N. Nguyen University of Texas at Dallas, Mira Mezini TU Darmstadt, Germany Pre-print | ||
09:00 15mFull-paper | Identifying Experts in Software Libraries and Frameworks among GitHub Users MSR 2019 Technical Papers João Eduardo Montandon Universidade Federal de Minas Gerais (UFMG), Luciana L. Silva , Marco Tulio Valente Federal University of Minas Gerais, Brazil Pre-print | ||
09:15 15mFull-paper | Data-Driven Solutions to Detect API Compatibility Issues in Android: An Empirical Study MSR 2019 Technical Papers Simone Scalabrino University of Molise, Gabriele Bavota Università della Svizzera italiana (USI), Mario Linares-Vasquez Universidad de los Andes, Michele Lanza Universita della Svizzera italiana (USI), Rocco Oliveto University of Molise |