Value and Allocation Sensitivities in Static Python Analyses
summary
Experimental evaluation compares type-only and value-sensitive Python analyses on real benchmarks, finding the same number of type-related exception detections but a 10x reduction in index false alarms when using value sensitivity; value sensitivity costs about 3x runtime versus type-only. Recency (recent/old) heap partitioning shows type-only is cheaper but less precise, while combined type+location partitioning improves precision for nested loops. Enabling abstract garbage collection yields ~38% time and ~47% memory savings for ~6% collector overhead.
AI-written summary · about
chapters (12)
- 0:00Intro
- 0:28Python, from a PL perspective
- 1:41Static Analysis of Python
- 3:34Studied Research Questions
- 4:24Type Analysis
- 6:47Value Analysis
- 8:19Related Work: Static Analyses of Python
- 8:44Experimental Evaluation
- 10:56Presenting the Recency Abstraction
- 15:31Abstract Garbage Collection
- 17:51Conclusion
- 19:26Thank you! Questions?
related talks
20mTaking out the Toxic Trash: Recovering Precision in Mixed Flow-Sensitive Static Analyses
28mMind the gap! Why static typing requires more than just adding annotations
57mWhy You Should Care About Types
24mStatic type-checking is dead, long live static type-checking in Python!
40mCatching More Bugs with Fewer False Alarms
44mStatic analysis as an additional barrier against bugs
59mMyths and fairy tales around Python performance
25mIs it me or Python memory management? 🤔💻
