What we eval in the shadows: a large-scale study of eval in R programsHub Talk
Most dynamic languages allow users to turn text into code using various functions, often named eval
, with language-dependent semantics. The widespread use of these reflective functions hinders static analysis and prevents compilers from performing optimizations. This paper aims to provide a better sense of why programmers use eval
. Understanding why eval
is used in practice is key to finding ways to mitigate its negative impact. We have reasons to believe that reflective feature usage is language and application domain-specific; we focus on data science code written in R and compare our results to previous work that analyzed web programming in JavaScript. We analyze 49,296,059 calls to eval
from 240,327 scripts extracted from 15,401 R packages. We find that eval
is indeed in widespread use; R’s eval
is more pervasive and arguably dangerous than what was previously reported for JavaScript.
Fri 10 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:30 - 16:10 | PotpourriHub Talks / Research Papers at Aurora Borealis 1 Chair(s): Ben Hermann Technical University Dortmund | ||
15:30 20mTalk | Hinted Dictionaries: Efficient Functional Ordered Sets and MapsECOOP 2022 Research Papers Amir Shaikhha University of Edinburgh, Hesam Shahrokhi University of Edinburgh, Mahdi Ghorbani University of Edinburgh | ||
15:50 20mTalk | What we eval in the shadows: a large-scale study of eval in R programsHub Talk Hub Talks Aviral Goel Northeastern University, Pierre Donat-Bouillud Czech Technical University, Filip Křikava Czech Technical University, Christoph Kirsch University of Salzburg; Czech Technical University, Jan Vitek Northeastern University; Czech Technical University Link to publication DOI |