Static Resource Analysis at Scale
summary
Static analysis computes symbolic upper bounds via Infer using an abstract interpretation pipeline that produces summaries and numeric ranges from InferBo interval analysis so diffs are checked quickly in code review. Deployed to an Android codebase for ~18 months, it runs on thousands of monthly diffs and flags hundreds of complexity increases (examples: a function jumped from O(1) to O(map size); a loop cost summarized as 5k+6). Limitations include recursion, concurrency, library models and affine-only intervals.
AI-written summary · about
chapters (16)
- 0:00Intro
- 0:20Performance Regressions
- 2:00What is next
- 3:00What makes performance different
- 5:13Types of static resource analysis
- 6:40Our aim
- 7:20Framework
- 7:50Infrastructure
- 8:27Example
- 13:38Batch Deployment
- 14:22Diff Deployment
- 16:07Complexity Increase
- 17:18Technical Challenges
- 19:00Domain Specific Challenges
- 19:43Dynamic Data
- 23:16Conclusion
related talks
50mState of the Infer Platform
50mProgram Analysis
50mPractical Advanced Static Analysis
18mEnhancing Infer Compositional Analysis with Summary Specialization
51mAI for the People
39mPractical Static Analysis for Continuous Application Security
01h 06mOn-The-Fly Verification via Incremental, Interactive Abstract Interpretation wi...
44mStatic analysis as an additional barrier against bugs
