What We Eval in the Shadows: A Large-Scale Study of Eval in R ProgramsVirtual
Thu 21 Oct 2021 16:10 - 16:25 at Zurich D - Corpus and User Studies Chair(s): Iulian Neamtiu
Most dynamic languages allow users to turn text into code using various functions, often named <tt>eval</tt>, 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 <tt>eval</tt>. Understanding why <tt>eval</tt> 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 <tt>eval</tt> from 240,327 scripts extracted from 15,401 R packages. We find that <tt>eval</tt> is indeed in widespread use; R’s <tt>eval</tt> is more pervasive and arguably dangerous than what was previously reported for JavaScript.
Thu 21 OctDisplayed time zone: Central Time (US & Canada) change
07:40 - 09:00 | |||
07:40 15mTalk | Well-Typed Programs Can Go Wrong: A Study of Typing-Related Bugs in JVM CompilersVirtual OOPSLA Stefanos Chaliasos Athens University of Economics and Business, Thodoris Sotiropoulos Athens University of Economics and Business, Georgios-Petros Drosos Athens University of Economics and Business, Charalambos Ioannis Mitropoulos Technical University of Crete, Dimitris Mitropoulos University of Athens, Diomidis Spinellis Athens University of Economics and Business; Delft University of Technology DOI | ||
07:55 15mTalk | How Statically-Typed Functional Programmers Write CodeVirtual OOPSLA Justin Lubin University of California at Berkeley, Sarah E. Chasins University of California at Berkeley DOI | ||
08:10 15mTalk | What We Eval in the Shadows: A Large-Scale Study of Eval in R ProgramsVirtual OOPSLA 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 DOI | ||
08:25 35mLive Q&A | Discussion, Questions and Answers OOPSLA |
15:40 - 17:00 | Corpus and User StudiesOOPSLA at Zurich D -8h Chair(s): Iulian Neamtiu New Jersey Institute of Technology | ||
15:40 15mTalk | Well-Typed Programs Can Go Wrong: A Study of Typing-Related Bugs in JVM CompilersVirtual OOPSLA Stefanos Chaliasos Athens University of Economics and Business, Thodoris Sotiropoulos Athens University of Economics and Business, Georgios-Petros Drosos Athens University of Economics and Business, Charalambos Ioannis Mitropoulos Technical University of Crete, Dimitris Mitropoulos University of Athens, Diomidis Spinellis Athens University of Economics and Business; Delft University of Technology DOI | ||
15:55 15mTalk | How Statically-Typed Functional Programmers Write CodeVirtual OOPSLA Justin Lubin University of California at Berkeley, Sarah E. Chasins University of California at Berkeley DOI | ||
16:10 15mTalk | What We Eval in the Shadows: A Large-Scale Study of Eval in R ProgramsVirtual OOPSLA 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 DOI | ||
16:25 35mLive Q&A | Discussion, Questions and Answers OOPSLA |