Statically Analyzing the Dataflow of R Programs
summary
Presents a novel static dataflow analysis for R that handles dynamic scoping, lazy evaluation with side effects, and reflective redefinitions and produces a program-wide dataflow and control-flow graph. Implements a stateful fold over a normalized AST and ships a backward program slicer as a proof of concept. Evaluated on 779 manual slicing points and 4,230 scripts plus 20,815 CRAN packages, preserving identical output for 99.7% of slicing points, averaging 576 ms per script analysis and ~213 kB per graph with ~85% token reduction.
AI-written summary · about
chapters (7)
- 0:00Introduction
- 1:03Static analysis challenges
- 4:09Why analyzers fall short
- 7:41Analysis pipeline
- 10:29Real-world slicing
- 12:51Performance evaluation
- 14:59Summary
related talks
59mData-driven program analysis
20m15 Years of R in Quantitative Finance
53mCan Haskell Become a Great Language for Data Science?
57mData, and when not to use it
20mUnderstanding the state of R in South Africa
46mElegant R: Tips from a Software Developer
26mDoing data science with Clojure: the ugly, the sad, the joyful
43mDoing Data Science with Clojure
