A Systematic Evaluation of Static API-Misuse Detectors

12/01/2017
by   Sven Amann, et al.
0

Application Programming Interfaces (APIs) often have usage constraints, such as restrictions on call order or call conditions. API misuses, i.e., violations of these constraints, may lead to software crashes, bugs, and vulnerabilities. Though researchers developed many API-misuse detectors over the last two decades, recent studies show that API misuses are still prevalent. Therefore, we need to understand the capabilities and limitations of existing detectors in order to advance the state of the art. In this paper, we present the first-ever qualitative and quantitative evaluation that compares static API-misuse detectors along the same dimensions, and with original author validation. To accomplish this, we develop MUC, a classification of API misuses, and MUBenchPipe, an automated benchmark for detector comparison, on top of our misuse dataset, MUBench. Our results show that the capabilities of existing detectors vary greatly and that existing detectors, though capable of detecting misuses, suffer from extremely low precision and recall. A systematic root-cause analysis reveals that, most importantly, detectors need to go beyond the naive assumption that a deviation from the most-frequent usage corresponds to a misuse and need to obtain additional usage examples to train their models. We present possible directions towards more-powerful API-misuse detectors.

READ FULL TEXT

page 8

page 18

research
12/01/2017

A Systematic Evaluation of API-Misuse Detectors

Application Programming Interfaces (APIs) often have usage constraints, ...
research
07/15/2021

Why Crypto-detectors Fail: A Systematic Evaluation of Cryptographic Misuse Detection Techniques

The correct use of cryptography is central to ensuring data security in ...
research
08/04/2023

MASC: A Tool for Mutation-Based Evaluation of Static Crypto-API Misuse Detectors

While software engineers are optimistically adopting crypto-API misuse d...
research
12/28/2020

API Misuse Detection An Immune System inspired Approach

APIs are essential ingredients for developing complex software systems. ...
research
04/21/2022

Active Learning of Discriminative Subgraph Patterns for API Misuse Detection

A common cause of bugs and vulnerabilities are the violations of usage c...
research
05/11/2021

Dealing with Variability in API Misuse Specification

APIs are the primary mechanism for developers to gain access to external...
research
02/01/2021

Automatically Identifying Parameter Constraints in Complex Web APIs: A Case Study at Adyen

Web APIs may have constraints on parameters, such that not all parameter...

Please sign up or login with your details

Forgot password? Click here to reset