Automated Change Rule Inference for Distance-Based API Misuse Detection
Sebastian Nielebock, Paul Blockhaus, Jacob Kr\"uger, Frank, Ortmeier

TL;DR
This paper introduces ChaRLI, a novel technique that infers change rules from developers' fixes to improve the detection of API misuses, reducing false positives and enabling reuse of fixes across projects.
Contribution
ChaRLI automatically infers change rules from API misuse fixes using API Usage Graphs, enhancing misuse detection accuracy and enabling reuse of fixes.
Findings
Mean precision ranges from 77.1% to 96.1%.
Recall ranges from 0.007% to 17.7%.
ChaRLI complements existing misuse detectors.
Abstract
Developers build on Application Programming Interfaces (APIs) to reuse existing functionalities of code libraries. Despite the benefits of reusing established libraries (e.g., time savings, high quality), developers may diverge from the API's intended usage; potentially causing bugs or, more specifically, API misuses. Recent research focuses on developing techniques to automatically detect API misuses, but many suffer from a high false-positive rate. In this article, we improve on this situation by proposing ChaRLI (Change RuLe Inference), a technique for automatically inferring change rules from developers' fixes of API misuses based on API Usage Graphs (AUGs). By subsequently applying graph-distance algorithms, we use change rules to discriminate API misuses from correct usages. This allows developers to reuse others' fixes of an API misuse at other code locations in the same or…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software System Performance and Reliability · Software Reliability and Analysis Research
