It's Not You, It's the API: Automatically Avoiding API Misuses
summary
Mining billions of client usages to infer concrete usage rules, then presenting those candidate rules for quick editing produces executable checks that are automatically packaged as a maven plugin. The pipeline reports a mined-rule detector with about 42% recall and ~34% precision so one in three warnings is noisy, but the human-in-the-loop workflow plus two tools (an intra-method control/dataflow checker and an annotation-based Java pipeline) turns undocumented expectations into enforceable checks.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 0:29Example
- 1:41The Problem
- 2:26API Misuses
- 2:47Tools
- 3:24Method
- 4:11Results
- 5:01Two worlds
- 5:47API usage rules
- 6:45API usage rules editor
- 8:24Maven plugin
- 8:50Summary
related talks
10mThe unintended consequences of mining software build systems
23mThanks for all the bugs!
01h 57mAutomatically improving Java codebases with Error Prone
29mMaking rules with Lint
37mFirst Do No Harm
45mAutomating away bugs with Error Prone in practice
40mStreamlining Large-Scale Java Development Using Error Prone
40mMagic of Automation and Everyday Chores
