Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Watch this 15-minute conference presentation from OOPSLA 2025 that introduces a novel static dataflow analysis framework specifically designed for the R programming language. Learn how researchers Florian Sihler and Matthias Tichy from Ulm University tackle the unique challenges of statically analyzing R programs, including dynamic scoping, lazy evaluation, and dynamic side effects that make traditional analysis approaches insufficient. Discover how their framework works as a stateful fold over a normalized abstract syntax tree to track redefinitions, values, function calls, side effects, external files, and dynamic control flow to generate comprehensive dataflow graphs. Explore the practical applications of this analysis through their proof-of-concept program slicing implementation, which demonstrates significant potential for improving program comprehension in the R ecosystem. Examine the rigorous evaluation methodology using output equivalence testing on 779 manually curated slicing points from real-world R scripts, systematic test cases based on R language capabilities, and performance measurements across 4,230 R scripts and 20,815 CRAN packages. Review the impressive results showing 99.7% accuracy in preserving identical output, average analysis times of 576ms per script, memory usage of around 213kB per dataflow graph, and an average token reduction of 84.8% through program slicing, demonstrating the framework's effectiveness for analyzing real-world R code quickly and correctly.