2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR) | 2019

Investigating Next Steps in Static API-Misuse Detection

 
 
 
 
 

Abstract


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.

Volume None
Pages 265-275
DOI 10.1109/MSR.2019.00053
Language English
Journal 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR)

Full Text